Colormapeditor() for UIAxes in App Designer?

13 views (last 30 days)
I am curious whether or not there is a way that I can edit a colormap for a UIAxes component using the "colormapeditor". I have an app designer app that plots a colormap, and would like a simple solution for allowing the user to edit the map. I am able to perform these edits on a normal figure, but no luck on app.UIAxes. I currently have a menu option callback that calls colormapeditor(app.UIAxes). I do not receive an error, colormapeditor opens and a separate blank figure opens alongside it. What am I missing here? Thank you!!!
  1 Comment
Rod Lopez
Rod Lopez on 1 Feb 2021
Update (01 Feb 2021): I found a workaround, but have a warning popping up that I am unable to remove.
I started by copying the app's plot to a blank figure which is hidden from view from the user. Colormapeditor() is then called and makes edits to this figure. A listener in the app updates the app's plot based on this hidden figure, which in turn alters the color map settings based on what the user picks. However, I now get the following warnings, which seems to be related to this listener. Any idea how I might go about fixing them, or perhaps a way to implement colormapeditor() without using this new method?
Warning: Error occurred while executing the listener callback for event MarkedDirty
defined for class matlab.graphics.axis.colorspace.MapColorSpace:
Attempt to modify the tree during an update traversal.

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 1 Feb 2021
Edited: Adam Danz on 1 Feb 2021
Set the UIFigure's HandleVisibility to ON prior to initializing colormapeditor. Then turn HandleVisibility back off afterwards.
app.UIFigure.HandleVisiblity = 'on';
colormapeditor
When finished,
app.UIFigure.HandleVisiblity = 'off';
  1 Comment
Rod Lopez
Rod Lopez on 2 Feb 2021
Thank you, this works perfectly! I did not even think of doing this, as the UIAxes component has its visibility 'on' by default (but not the UIFigure).

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by