Map Axes and Colorbars - Colorbar Overlapping Labels

3 vues (au cours des 30 derniers jours)
millercommamatt
millercommamatt le 13 Déc 2022
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

Réponses (1)

Divyanshu
Divyanshu le 1 Sep 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:

Catégories

En savoir plus sur White dans Help Center et File Exchange

Produits


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by