How can I plot two colorbars in isosurface figure?
    6 次查看(过去 30 天)
  
       显示 更早的评论
    
I want to plot two isosurface in one figure :Z1,Z2
 isovalues1 = 0:0.1:1;
 for i=1:length(isovalues1)
 isosurface(X,Y,Z,Z1,isovalues1(i));
 end
 hc(1,1)=colorbar;
 hc(1,1).Limits = [0 1];
 hold on
 ax = gca;
 isovalues2 = 40:10:100;
 for i=1:length(isovalues2)
   isosurface(X,Y,Z,Z2,isovalues2(i));
 end
 hc(1,2)=colorbar;
 hc(1,2).Limits = [40 100];
I don't know why this does not work properly. colorbar ranges are [0 1], [40 100] but they shows only one colorbar limits [0 100] How can I fix it?
0 个评论
采纳的回答
  Walter Roberson
      
      
 2016-10-25
        You need to hold after the first isosurface for each axes
Each axes can have only one colorbar
3 个评论
  Walter Roberson
      
      
 2016-10-25
				See for example:
isovalues1 = 0:0.1:1;
isovalues2 = 40:10:100;
[X,Y,Z] = meshgrid(isovalues1);
Z1 = X + sin(Y) + Z.^2;
Z2 = (cos(X) + Y + sqrt(Z)) * 50;
subplot(1,2,1);
for i = 1 : length(isovalues1); isosurface(X,Y,Z,Z1,isovalues1(i)); hold on; end; hold off
view(8,71);
hc(1,1)=colorbar;
hc(1,1).Limits = [0, 1];
subplot(1,2,2);
for i = 1 : length(isovalues2); isosurface(X,Y,Z,Z2,isovalues2(i)); hold on; end; hold off
hc(1,2)=colorbar;
hc(1,2).Limits = [40, 100];
view(8,71);
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

