Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to save scope to an image file without using plot?

This condition is very important, because plot stretches my graph in an unacceptable manner.

like image 907
kspacja Avatar asked Dec 08 '10 23:12

kspacja


3 Answers

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.
like image 60
gnovice Avatar answered Sep 29 '22 11:09

gnovice


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.

like image 31
Robert Seifert Avatar answered Sep 29 '22 09:09

Robert Seifert


A quick solution would be to choose File - Print to Figure inside the scope. Then a Figure opens that you can save as .fig.

like image 29
Karlo Avatar answered Sep 29 '22 11:09

Karlo