Clear Filters
Clear Filters

How to add imagesc plot to an app?

63 views (last 30 days)
JeanN
JeanN on 6 Apr 2022
Commented: Xu-Jie Wang on 16 Aug 2023
Hi all,
I am trying to put an image created from the imagesc function to display on an Matlab app.
I am struggling with that and am not sure what to do next.
I have already looked at and tried :
First, I am not sure if I should be hosting the image as as UIAxes or as an Image. I am generating the plot programaticaly from Matlab.
Let's say that I try to host it as UIAxes component ( have several plot areas in my app). That component is called UIAxes and is inside a panel. Then what I do is to put the following inside a function which I then call from the startup Function:
app.UIAxes = imagesc(R);
where R is a matrix with numbers.
I get the following error
Error using app2/startupFcn (line 98)
Error setting property 'UIAxes' of class 'app2'. Value must be of type matlab.ui.control.UIAxes or be convertible to matlab.ui.control.UIAxes.
Would anybody have an idea of what I can do here?
  2 Comments
DGM
DGM on 6 Apr 2022
Edited: DGM on 6 Apr 2022
I don't really ever do much with the app stuff, so I'm not going to make an answer out of this. Generally, image objects, like any plot object, are children of axes objects. So instead of assigning like that, you'd call image() with the handle of the axes that is to be it's put in:
imageobjecthandle = imagesc(axeshandle,myimage);
How you manage the axes and image handles is up to you.
Brian
Brian on 16 Jan 2023
How did the answer from Jakub below work out? Where there any other details you discovered?
(I'm presently having the same problem tryiing to do exactly the same thing.)
Thx.

Sign in to comment.

Answers (1)

Jakub Devera
Jakub Devera on 7 Apr 2022
imagesc(ax,___) creates the image in the axes specified by ax instead of in the current axes (gca). Specify the axes as the first input argument.
So you can write
imagesc(app.UIAxes, R);
or save it to a handle if you want to work with it later
app.ImageHandle = imagesc(app.UIAxes, R);
but you will have to define ImageHandle in properties of your app.

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!