2012-04-01 70 views
3

是否可以用2个yaxis生成pcolor图?pcolor plot上的第二个y轴

考虑下面的例子:

clear all 
temp = 1 + (20-1).*rand(365,12); 
depth = 1:12; 
time =1:365; 

data2 = 1 + (60-1).*rand(12,1); 
time2 = [28,56,84,124,150,184,210,234,265,288,312,342]; 

figure; 
pcolor(time,depth,temp');axis ij; shading interp 
hold on 
plot(time2,data2,'w','linewidth',3); 

相反在相同的y轴上标绘所述第二数据集的我想它放置在其自己的y轴上。这可能吗?

回答

1

您需要在pcolor轴的顶部添加其他轴,匹配它们的位置,然后绘图。您可以在顶部(X)和右侧(Y)上设置轴位置。如果他们假设匹配LINKAXES,请不要忘记链接X轴。

pcolor(time,depth,temp');axis ij; shading interp 
ax1 = gca; 
%# new axes with plot 
ax2 = axes('position',get(ax1,'position'),'color','none'); 
set(ax2,'YAxisLocation','right', 'XAxisLocation','top') 
hold on 
plot(ax2,time2,data2,'w','linewidth',3); 
hold off 
linkaxes([ax1 ax2], 'x'); 

pcolor with line

0

我不确定你的意思。 如果您想要相同的轴但不同的y值,请尝试plotyy。如果您需要两个不同的轴,请尝试使用命令subplot

+0

从你写什么,我更想找plotyy涉及解决方案,但我不能让plotyy与一个令pColor情节工作。 – Emma 2012-04-01 16:12:11