I have a plot in MATLAB app designer with 3 UIaxes which means I have 3 plots actually. I want copy all 3 of them into one figure so that I can save all of them together. How can I do that. Thank you.

4 Kommentare

Mario Malic
Mario Malic am 6 Sep. 2023
Check copyobj and tiledlayout functions.
How do I do this exactly?
I tried this
newFigure =tiledlayout(1,3);
copyobj(app.UIAxes2_1,newFigure);
newFigure2 =tiledlayout(2,3);
copyobj(app.UIAxes2_2,newFigure2);
newFigure3 =tiledlayout(3,3);
copyobj(app.UIAxes2_3,newFigure3);
and I get error : "Object Copy of Axes with multiple coordinate systems is not supported".
Can I know the correct way to do it.
Mario Malic
Mario Malic am 6 Sep. 2023
Bearbeitet: Mario Malic am 6 Sep. 2023
In this case, then I would export three pictures with exportgraphics as an image format and just combine them in one image by loading each of them in a variable and align them next to each other.
Otherwise create a separate tab with different uiaxes that you would plot the results to and use exportgrapics to export the complete uifigure.
In this case, then I would export three pictures with exportgraphics as an image format and just combine them in one image by loading each of them in a variable and align them next to each other.
do you know any link on how to do this. I cant find any.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Mario Malic
Mario Malic am 7 Sep. 2023

0 Stimmen

Hey,
Solution for combining the image is below. If you need some space in between, you can add white space, by creating array that corresponds to white color with matrix values of 255 for each channel (R, G, B) values.
image = imread("DistortedImage.png");
combImage = [image, image];
imshow(combImage)
imwrite(combImage, "img.png")

Produkte

Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by