How to add imagesc plot to an app?
43 次查看(过去 30 天)
显示 更早的评论
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 :
- https://ch.mathworks.com/matlabcentral/answers/283215-insert-image-in-appdesigner-gui
- https://ch.mathworks.com/matlabcentral/answers/405741-how-to-use-image-sc-in-application-designer-appdesigner
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 个评论
DGM
2022-4-6
编辑:DGM
2022-4-6
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
2023-1-16
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.
回答(1 个)
Jakub Devera
2022-4-7
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Develop Apps Using App Designer 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!