Get colorbar handle for a particular image

10 Ansichten (letzte 30 Tage)
Matt J
Matt J am 25 Sep. 2017
Beantwortet: henk vang am 21 Feb. 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?

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 25 Sep. 2017
Assuming HG2:
get( ancestor(handle, 'axes'), 'Colorbar')
Or, if you already have the axes in variable ax then
ax.Colorbar
  2 Kommentare
Matt J
Matt J am 25 Sep. 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 !?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

henk vang
henk vang am 21 Feb. 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