plotting second y axis with pcolor command

10 visualizaciones (últimos 30 días)
Richard
Richard el 1 de Abr. de 2012
Is it possible to prodce a pcolor plot with 2 yaxis?
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 placed on its own y-axis, similar to the plotyy command. How can this be achieved?

Respuesta aceptada

Aaditya Kalsi
Aaditya Kalsi el 1 de Abr. de 2012
You can do this by creating another axis on top of the existing one in the same position. You can then play with transparencies.
Ex.:
figure;
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];
% create the first axis
pcolor(time, depth, temp'); axis ij;
% get axis position
axPos = get(gca, 'Position');
axLim = get(gca, 'XLim');
% Create a new axis that is transparent where data is not present
newAx = axes('Position', axPos);
plot(newAx, time2,data2,'linewidth',3);
set(newAx, 'color', 'none');
set(newAx, 'XLim', axLim)

Más respuestas (0)

Categorías

Más información sobre Lighting, Transparency, and Shading en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by