Get colorbar handle for a particular image

9 visualizaciones (últimos 30 días)
Matt J
Matt J el 25 de Sept. de 2017
Respondida: henk vang el 21 de Feb. de 2018
If I have several images as subplots in a figure, how, given a handle to one of the images, or its axis, do I get the handle to the corresponding colorbar? Colorbars are not axes children, so how do I programmatically determine which belongs to which?

Respuesta aceptada

Walter Roberson
Walter Roberson el 25 de Sept. de 2017
Assuming HG2:
get( ancestor(handle, 'axes'), 'Colorbar')
Or, if you already have the axes in variable ax then
ax.Colorbar
  2 comentarios
Matt J
Matt J el 25 de Sept. de 2017
OK, that's easy. But what still puzzles me is that 'Colorbar' appears neither in the properties list nor methods list of axes objects. How did you know that it was there !?

Iniciar sesión para comentar.

Más respuestas (1)

henk vang
henk vang el 21 de Feb. de 2018
Somehow above answer did not work for me (R2014).
Suppose anyone is still looking: I think what you are looking for (and at least I was looking for) is something like:
if ~isappdata(gca,'ColorbarPeerHandle')
cb = getappdata(gca,'ColorbarPeerHandle');
end
I found a similar pices of code in the subfunction find_legend in the normal function legend. So find that piece of code, and replace ''LegendPeerHandle'' with ''ColorbarPeerHandle'.

Community Treasure Hunt

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

Start Hunting!

Translated by