동일한 x 축이지만 y 축이 다른 두 개의 그래프를 플롯하고 싶습니다. 하나는 다른 축 위에 쌓입니다. 아래 질문과 비슷한 질문이 있지만 Y 축 차원의 변화는 설명하지 않습니다. 이 코드를 편집하기 위해 편집했지만 좀 더 우아한 접근법 (아마도 "hold on"형식 코드 사용)이 있기를 바랍니다.두 개의 Matlab 플롯을 늘리는 방법은 무엇입니까?
How to plot graphs above each other in Matlab?
동일한 x 축이지만 y 축이 다른 두 개의 그래프를 플롯하고 싶습니다. 하나는 다른 축 위에 쌓입니다. 아래 질문과 비슷한 질문이 있지만 Y 축 차원의 변화는 설명하지 않습니다. 이 코드를 편집하기 위해 편집했지만 좀 더 우아한 접근법 (아마도 "hold on"형식 코드 사용)이 있기를 바랍니다.두 개의 Matlab 플롯을 늘리는 방법은 무엇입니까?
How to plot graphs above each other in Matlab?
당신이 원하는 ... 내가 잘 이해하면 할 수있는 몇 가지 코드입니다. 기본적으로 두 개의 다른 축을 같은 그림에 하나씩 만들어서 XTick 및 YTick으로 재생합니다.
이 최적이 아니라 인한 시간 부족으로 나는 물론 당신이 변경할 수 있습니다 :) 여기 중지해야합니다 : 당신은 내가 :
clear
close all
clc
x = 1:10;
y1 = -(x.^2);
y2 = sin(x);
figure('Units','Normalized');
hAxes1 = axes('Position',[0.1 0.1 .8 .4]);
yLim = get(hAxes1,'YLim');
Axes1Position = get(hAxes1,'Position');
NewAxesPosition = [Axes1Position(1) Axes1Position(2)+0.4 Axes1Position(3) Axes1Position(4)];
hAxes2 = axes('Position',NewAxesPosition);
plot(x,y1,'b','Parent',hAxes1);
TICK = get(hAxes1,'YTick')
set(hAxes1,'XTick',2:1:10,'YTick',TICK(1:end-1))
hold on
plot(x,y2,'r','parent',hAxes2)
set(gca,'XTick',[],'XTickLabel',[])
hold off
이주기 추측이에서 시작할 수 있습니다 원하는 축 또는 눈금 표시. 또한 텍스트 주석을 사용하여 YTicks를 더욱 멋지게 사용자 정의 할 수 있습니다. 도움이 되셨습니다!
예 :를 참조
A = 1000;
a = 0.005;
b = 0.005;
t = 0:900;
z1 = A*exp(-a*t);
z2 = sin(b*t);
[ax,p1,p2] = plotyy(t,z1,t,z2,'semilogy','plot');
ylabel(ax(1),'Semilog Plot') % label left y-axis
ylabel(ax(2),'Linear Plot') % label right y-axis
xlabel(ax(2),'Time') % label x-axis
: 여기 http://www.mathworks.com/help/matlab/creating_plots/plotting-with-two-y-axes.html
나는 이것을 대답으로 생각할 것이지만 이것이 내가 찾고있는 것이 아니라는 것을 설명하지는 못했다. 첫 번째 아래에 새로운 y 축을 배치하는 무언가가 필요합니다. (따라서 동일한 그래프에서 플로팅을하고 아래로 이동하지만보다 세련된 방식으로). 그래도 감사합니다. – josh
네가 전적으로 동의한다. 다행히 도왔다! –
그것은 확실히 내가 찾고있는 라인을 따라있다. 위의 링크 된 솔루션과 비슷하지만, 더 간결하게 말할 수 있습니다. 나는 MATLAB에 어떤 종류의 함수 나 무언가가 내장되어 있지 않다는 사실에 놀라움을 금할 수 없다. 당신의 도움에 많은 감사드립니다! – josh