How can I plot two colorbars in isosurface figure?
4 ビュー (過去 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 件)
参考
カテゴリ
Help Center および File Exchange で Volume Visualization についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!