How to plot just a colorbar without plot?
Show older comments
I would like to plot just a colorbar on a subplot without real figure. I can do this, but I want to shrink the figure area. How to make zero figure width and wide colorbar?
4 Comments
It is unclear what you mean. You want the axes area to match the area of the colorbar? Something like the attached image?
Adam
on 23 Jul 2018
Also please make sure of your terminology. The figure is the containing UI for all the elements in it. Is this what you mean or do you mean the axes when you say 'figure area'? Because a zero figure width doesn't make any sense if you really mean 'figure'
Mr M.
on 26 Jul 2018
jonas
on 26 Jul 2018
Can you draw an image in MSpaint of what you want?
Answers (1)
Benjamin Kraus
on 26 Jul 2018
A colorbar must be attached to an axes, so you have (at least) two options:
- Create an axes, attach a colorbar, then make the axes invisible.
- Create an axes, attach a colorbar, then move the axes and colorbar separately.
For example:
ax = axes;
c = colorbar(ax);
ax.Visible = 'off';
3 Comments
FTil
on 15 Dec 2018
This did not work for me on R2018a. In spite of setting the Visible property to 'off', the axes remain visible.
Benjamin Kraus
on 17 Dec 2018
The Visible property on axes controls the visibility of the axes (the backdrop, the rulers, the ticks, etc.) but does not control the visibility of the plots within the axes (lines, bar graphics, etc.). Is this the issue you are seeing? If not, please post some example code along with a screenshot of what you are seeing, and someone should be able to help you.
One can also center the colorbar in the figure as follows:
hf = figure('Units','normalized');
colormap turbo
hCB = colorbar('north');
set(gca,'Visible',false)
hCB.Position = [0.15 0.3 0.74 0.4];
hf.Position(4) = 0.1000;
Categories
Find more on Colorbar 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!