How can I plot two colorbars in isosurface figure?
    5 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Nayoung Kim
 el 25 de Oct. de 2016
  
    
    
    
    
    Comentada: Nayoung Kim
 el 26 de Oct. de 2016
            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 comentarios
Respuesta aceptada
  Walter Roberson
      
      
 el 25 de Oct. de 2016
        You need to hold after the first isosurface for each axes
Each axes can have only one colorbar
3 comentarios
  Walter Roberson
      
      
 el 25 de Oct. de 2016
				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);
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

