I have a GUI which gets input from user and plots the step response. I want to export that graph only, not whole figure window. Can you help how to do?
Show older comments
This is the figure saved from that GUI. As you can see that it has captured the whole figure window layout, however I want to save only the plot in the figure as an image on my computer.
Answers (1)
awezmm
on 2 Nov 2018
0 votes
Can you just make a new figure window and put only the plot on that one and then export that new figure? Note that you can make the new figure invisible if you don't want the user to see it: f = figure('visible','off'); It will still be running in the background and you can programmatically export the stuff on the new figure f that only contains your plot
6 Comments
GMD Baloch
on 3 Nov 2018
Edited: GMD Baloch
on 3 Nov 2018
awezmm
on 3 Nov 2018
How are you originally plotting the graph on axes1? Is it the same size as it was before
Because if you just copy from one figure to another it will retain the size. Instead it may be best to plot it onto the new ax figure instead of copying it over
GMD Baloch
on 3 Nov 2018
awezmm
on 5 Nov 2018
did u try plotting straight on the new figure ax
GMD Baloch
on 6 Nov 2018
awezmm
on 6 Nov 2018
try putting this before you plot:
axes('Units', 'normalized', 'Position', [0 0 1 1])
again, plot on everything separately, try not to use copy.
Here is an example of the command I gave: This is normal plotting:
figure
x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)
This is where the plot fills everything:
figure
x = 0:pi/100:2*pi;
y = sin(x);
axes('Units', 'normalized', 'Position', [0 0 1 1])
plot(x,y)
lemme know if you have any other trouble
Categories
Find more on Creating, Deleting, and Querying Graphics Objects 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!