【问题标题】:Write a figure to a file automatically in MATLAB在 MATLAB 中自动将图形写入文件
【发布时间】:2010-10-11 01:02:05
【问题描述】:

有谁知道是否可以在 MATLAB 中自动将数字写入 .eps 文件?

我正在运行一个生成大量图表的脚本,如果我不必手动保存每个图表就好了!

【问题讨论】:

  • 可能与here有关。

标签: matlab matlab-figure eps


【解决方案1】:

print function 这样做:

打印图形或保存为特定文件格式...

print(filename,formattype) 将当前图形保存到使用指定文件格式的文件中,例如print('BarPlot','-dpng')。如果文件名不包含扩展名,则 print 会附加相应的扩展名。

print(filename,formattype,formatoptions) 指定可用于某些格式的附加选项。

print 将当前图形打印到默认打印机...

【讨论】:

  • 谢谢,省了我很多力气=]
【解决方案2】:

print 或 saveas 可以解决问题。

saveas(fig_handle, 'filename','eps')
print('-deps',fig_handle)
print -deps 1

如果要指定输出文件名,最好使用 saveas。

【讨论】:

  • 其实你可以用 -print -epsc filename 指定文件名
【解决方案3】:

这是在this other question 中使用PRINT 命令回答的。尽管该问题涉及制作 .tiff 图像,但修改这些答案中给出的代码以编写 .eps 应该很简单。

【讨论】:

  • 我没有加载或加载图像,这是一组自动生成的图表,所以我不确定是否适用相同的语法。
  • 虽然问题的文字只显示了IMREAD和IMWRITE,但部分答案显示了如何使用PRINT函数输出绘制的图像。
【解决方案4】:

假设你在一个循环中生成 N 个数字,那么你应该试试命令行:

saveas(gca,sprintf('Figure%02d.pdf',N )); 它产生 N 个数字 Figure1.pdf - FigureN.pdf saveas(gca,sprintf('Figure%02d.eps',N )); 它产生 N 个数字 Figure1.eps - FigureN.eps

也可以使用gcf 代替gca。第一个命令行是更好的解决方案。

希望这能解决您的问题。

【讨论】:

    猜你喜欢
    • 2011-06-15
    • 2013-02-19
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    • 2012-06-04
    • 2018-06-20
    • 2019-02-02
    • 2015-05-14
    相关资源
    最近更新 更多