How can I plot two colorbars in isosurface figure?
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Nayoung Kim
am 25 Okt. 2016
Kommentiert: Nayoung Kim
am 26 Okt. 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 Kommentare
Akzeptierte Antwort
Walter Roberson
am 25 Okt. 2016
You need to hold after the first isosurface for each axes
Each axes can have only one colorbar
3 Kommentare
Walter Roberson
am 25 Okt. 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);
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Volume Visualization finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!