Second y-axis on pcolor plot
Is it possible to create a pcolor plot with 2 rays?
Consider the following example:
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);
Instead of plotting the second dataset on the same y-axis, I would like it to be positioned on its y-axis. Is it possible?
+3
source to share
2 answers
You need to add additional axes at the top of the pcolor axes, align their positions, and then plot. You can set the position of the axes to the top (X) and to the right (Y). Remember to link the X-axes if they assumed they were LINKAXES .
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');
+1
source to share