Plot with two different x-axix
조회 수: 32 (최근 30일)
이전 댓글 표시
Hello,
I have to plot two different values over a certain depth. Those two values have very different ranges, so I would like one of them (k1) to have its x axis at the top, and the other(NESPN1) its x axix on the bottom. I have tried the mathworks page on double x axis, but it won't work. Can you please help me?
if true
figure
plot(k1,Depth1)
ax1.XColor = 'r';
ax1.YColor = 'r';
ax1_pos = ax1.Position; % position of first axes
ax2 = axes('Position',ax1_pos,...
'XAxisLocation','top',...
'YAxisLocation','left',...
'Color','none');
plot(NESNP1,Depth1,'Parent',ax2,'Color','k')
set(gca,'Ydir','reverse')
end
댓글 수: 3
Guillaume
2018년 5월 2일
@Jonas, answers go in the answer box, not as comments to the question. This is better for you as you can get any credit for comments.
채택된 답변
jonas
2018년 5월 2일
Try this.
clear all;close all
figure;
h=plot(k1,Depth1)
ax1=gca
ax1.XColor = 'r';
ax1.YColor = 'r';
ax1_pos = ax1.Position; % position of first axes
ax2 = axes('Position',ax1_pos,...
'XAxisLocation','top',...
'YAxisLocation','left',...
'Color','none');
plot(NESNP1,Depth1,'Parent',ax2,'Color','k')
set(gca,'Ydir','reverse')
set(ax2,'XAxisLocation','top')
set(ax1,'Ytick',[])
댓글 수: 0
추가 답변 (1개)
Guillaume
2018년 5월 2일
Other than the issue with the undefined axis that Jonas answered, it seems that you don't know the correct syntax for plot. If I understood correctly, you're plotting against depth. Hence Depth1 should be the first argument to plot not the second. Overall:
figure;
plot(Depth1, k1);
ax1 = gca;
ax2 = axes('Position', ax1.Position, 'XAxisLocation', 'top', 'YAxisLocation', 'left');
plot(Depth1, NESNP1, 'Parent', ax2, 'Color', 'k');
ax2.Color = 'none';
참고 항목
카테고리
Help Center 및 File Exchange에서 Graphics Performance에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!