Filter löschen
Filter löschen

How to add imagesc plot to an app?

63 Ansichten (letzte 30 Tage)
JeanN
JeanN am 6 Apr. 2022
Kommentiert: Xu-Jie Wang am 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 Kommentare
DGM
DGM am 6 Apr. 2022
Bearbeitet: DGM am 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 am 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.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Jakub Devera
Jakub Devera am 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.

Kategorien

Mehr zu Interactive Control and Callbacks finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by