フィルターのクリア

How can I add a colorbar that lines up with an axis in a surf plot?

3 ビュー (過去 30 日間)
Nicholas Sullivan
Nicholas Sullivan 2015 年 6 月 10 日
回答済み: Kelly Kearney 2015 年 6 月 10 日
I have a surface plot and I want to make a colorbar that is in the same location as the vertical axis numbers and label. I also want it to line up with the numbers on the axis. Is this possible?

採用された回答

Kelly Kearney
Kelly Kearney 2015 年 6 月 10 日
Determining the plotting area of a 3D axis can be tricky. But if you don't mind a little manual clicking, the following method works. When the cursor appears, click first of the lower vertex of the z-axis, then on the upper vertex. This assumes the colorbar will go to the left of the axis and that you're using the default view, but a few little modifications can move it to the right or deal with other rotations.
[x,y,z] = peaks(20);
surf(x,y,z)
cb = colorbar;
axtmp = axes('position', [0 0 1 1], 'color', 'none');
[xax, yax] = ginput(2);
delete(axtmp);
cbpos = get(cb, 'position');
set(cb, 'position', [xax(1)-cbpos(3) yax(1) cbpos(3) diff(yax)]);
set(gca, 'clim', get(gca, 'zlim'));
set(cb, 'Ticks', get(gca, 'ztick'));

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange2-D and 3-D Plots についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by