2010-12-08 16 views
4

这种情况非常重要,因为情节以不可接受的方式拉伸我的图。如何将范围保存到图像文件而不使用绘图?

+2

我在投票结束这一个,很难弄清楚问题是什么。 – 2010-12-08 23:40:16

+0

如果我可以尝试解释,你的意思是你想要保存Scope块中显示的图像,而不是使用保存的数据在命令行上绘图? – MikeT 2010-12-09 03:30:47

回答

5

如果MikeT的评论是正确的,你要保存在一个范围块所表示的图像,有一对夫妇的方式,你可以这样做:

3

由于gnovice的答案已过时(至少从R2013开始),并且新的内置函数使用起来相当不方便,所以我想推荐我的小脚本。

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') 

它给你一个完全相同大小和外观的矢量图形,就像上次打开的范围窗口一样。当然,您可以修改其他属性,并以特定分辨率将其打印为jpeg。但你应该宁愿使用print

... 
set(gcf,'Renderer','zbuffer') 
print(gcf,'scope.jpg','-djpeg','-r600') 

结果为600dpi的JPEG文件。 这些单位并不重要,只要它们在图形和纸张之间一致。

0

快速解决方案是在范围内选择File - Print to Figure。然后打开一个图,你可以保存为.fig

相关问题