Map Axes and Colorbars - Colorbar Overlapping Labels

When creating a colorbar to go with a map axes based plot, the colorbar overlaps the labels.
What's the optimal solution for preventing this?
Manually defining the position is hard to figure for a general case and doesn't tolerating window resizing without some sort of callback function being developed.
The root of the problem seems to be rooted in the fact that the map axis objects don't respect the bounds of the parent invisible axis that the colorbar is positioned in reference to.
Simple example. Give the resulting a figure a resize and note how the colorbar overlaps the map axes labels.
fig_h = figure();
maxis_h = worldmap([20 40],[-90 -60]);
colorbar

Respuestas (1)

Divyanshu
Divyanshu el 1 de Sept. de 2023
I understand that plotting both map-axes and colorbar result in the colorbar overlapping with the map-axes. Here is a workaround which enables to manually set the position of colorbar:
fig_h = figure();
maxis_h = worldmap([20 40],[-90 -60]);
x = maxis_h.Position(1);
y = maxis_h.Position(2);
cb = colorbar;
a = cb.Position;
set(cb,'Position',[x+0.79 a(2) a(3) a(4)])
You can go through the following documentation for further details about ‘set’ function of MATLAB:

Categorías

Más información sobre Color and Styling en Centro de ayuda y File Exchange.

Productos

Versión

R2022a

Preguntada:

el 13 de Dic. de 2022

Respondida:

el 1 de Sept. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by