How to hold colorbar in contourf plot

2 次查看(过去 30 天)
Hello everyone
I want to plot a contorf plot in logaritmic scale. first I want to plot in normal to provide colorbar, then hold the colorbar and scale the datas to log10 and plot again. this is the code:
contourf(a,b,c);
h = colorbar('YScale','log');
hold(h);
d = log10(c);
cla
contourf(a,b,d);
but the colorbar doesn't hold and when I re plot the the contourf, the colorbar is disappear, and if i plot the colorbar again, then it is shows the colorbar of new contourf which is wrong.
So, how can I plot the colorbar of the first contourf on the second plot of contourf? how can I hold or keep the colorbar? thanks.

采纳的回答

Shashank Prasanna
Shashank Prasanna 2013-1-14
I haven't tried this entirely, but instead of cla and replotting try
figure(1)
contourf(1,b,c)'
h = colorbar('YScale','log');
d = log10(c);
figure(2)
contourf(a,b,d)
a = get(1,'children');
copyobj(a(1),2);
This is a crude reparenting of the colorbar from the original figure to the new one.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Blue 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by