I would like to determine if an axes already has a colorbar. I have code which plots many objects on the same axes, but I only want to create and define the colorbar once to make things more efficient. I've tried looking for a ColorBar
object as a child of the figure handle, but I have multiple subplots in the same figure, and each may or may not need their own colorbar. Is there a way to determine if a particular axes has a colorbar associated with it?
Credit to Voss at MATLAB Answers
There is a hidden axes property called 'Colorbar', which you can use.
% two axes, one with colorbar, one without ax = subplot(2,1,1); plot(1:10) colorbar() ax(2) = subplot(2,1,2); plot(1:10)
ax1_has_colorbar = ~isempty(ax(1).Colorbar)
Returns true
ax2_has_colorbar = ~isempty(ax(2).Colorbar)
Returns false