在pcolor图上的第二个y轴

时间:2012-04-01 14:45:30

标签: matlab colors plot

是否有可能用2 yaxis制作pcolor图?

考虑以下示例:

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轴上。这可能吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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