This condition is very important, because plot stretches my graph in an unacceptable manner.
If the comment by MikeT is correct, and you are trying to save the image shown in a Scope block, there are a couple of ways you could do this:
- Print the contents of the scope window by clicking the Print icon, the leftmost icon on the Scope toolbar. Then choose to print to a file instead of to a printer.
- Create an editable figure from a scope block using the SIMPLOT function. This will create a figure that looks like the display on the screen of a Scope block, then you can save the figure to a file using the figure window's File menu or the functions SAVEAS or PRINT.
plot([1 2 2 3],[0 0 1 1]);
, whereas the result of SIMPLOT may be similar to plotting plot([1 2 3],[0 0 1])
. Notice how the first plot replicates point 2 for the x data (with a 0 and 1 for the y data), which makes a vertical line. The second plot would instead have a line joining point (2,0) to point (3,1). –
Nonrigid As the answer of gnovice is outdated (at least since R2013), and the new builtin function is rather inconvenient to use, I'd like to suggest my little script.
set(0,'ShowHiddenHandles','On')
set(gcf,'Units','centimeters','PaperUnits','centimeters')
pos = get(gcf,'Position');
set(gcf,'PaperPosition',[0 0 pos(3) pos(4)],'Papersize',[ pos(3),pos(4) ]);
set(gcf,'InvertHardcopy','off','Renderer','painters')
saveas(gcf,'scope.pdf')
Which gives you a vector graphic in exactly the same size and look, like the last opened scope window. Of course you can modify additional properties and also print it as jpeg with a certain resolution. But then you should rather use print
:
...
set(gcf,'Renderer','zbuffer')
print(gcf,'scope.jpg','-djpeg','-r600')
results into a 600dpi Jpeg file. The units doesn't really matter, as long as they are consistent between figure and paper.
A quick solution would be to choose File - Print to Figure
inside the scope. Then a Figure opens that you can save as .fig
.
© 2022 - 2024 — McMap. All rights reserved.