resize and define the position of the colorbar
87 views (last 30 days)
Show older comments
Haythem Zouabi
on 12 Nov 2020
Commented: Cris LaPierre
on 12 Nov 2020
Hello,
I need to resize and define the position of the colorbar.
This is my code:
ax3 = subplot(2,3,2);
ibg2 = imagesc(scene);
axis off
hold on
iim2 = imagesc(im,'XData',[16 466],'YData',[104 484]);
caxis([0 3])
iim2.AlphaData = 0.75*ones(size(im));
iim2.AlphaData(isnan(im)) = 0;
colorbar
colormap parula
caxis([0 3])
cb = colorbar;
set(cb,'position',[.10 .1 .1 .1])
This is the graph i get :
I need to place the color bar in the blue box (see figure)?
Thanks,
0 Comments
Accepted Answer
Cris LaPierre
on 12 Nov 2020
Your position argument is relative to the entire figure, not the plot. Adjust it to be what you want it to be.
Also, including target axes might help.
scene = imread('peppers.png');
im = imread("cameraman.tif");
ax3 = subplot(2,3,2);
ibg2 = imagesc(scene);
axis off
hold on
iim2 = imagesc(ax3,im,'XData',[16 466],'YData',[104 484]);
hold off
iim2.AlphaData = 0.75*ones(size(im));
iim2.AlphaData(isnan(im)) = 0;
colormap parula
caxis([0 3])
cb = colorbar(ax3);
cb.Position = [.45 .6 .05 .1];
2 Comments
Cris LaPierre
on 12 Nov 2020
I had some success with the 'Location' setting.
scene = imread('peppers.png');
im = imread("cameraman.tif");
subplot(2,3,2);
imagesc(scene);
axis off
cb = colorbar('west');
cb.Position = cb.Position .* [1 1 1 .5];
subplot(2,3,4);
imagesc(im);
axis off
cb = colorbar('west');
cb.Position = cb.Position .* [1 1 1 .5];
More Answers (0)
See Also
Categories
Find more on Colormaps in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!