【发布时间】:2014-02-07 05:43:15
【问题描述】:
当使用 -nodesktop 选项通过 cronjob 运行函数时,我在 matlab 绘图的分辨率方面遇到问题。该函数绘制并保存(使用打印功能)一些数字。从 matlab 桌面运行时,它们会根据指定的分辨率进行绘图和保存,没有问题。但是当使用 -nodesktop 选项通过 cronjob 运行时,分辨率非常差(低)。
这基本上就是我目前正在做的事情:
fh = figure;
set(fh,'Position',[0 0 1360 470]);
plot(somedata);
print(fh,'-dpng',figpath,'-painters');
请注意,我也尝试过指定打印分辨率:
print(fh,'-dpng',figpath,'-r300');
但这最终会导致文件损坏。我不确定为什么。我正在使用-painters,因为我在某处读到,如果情节有点复杂,它可以默认为opengl,这会破坏打印,但这似乎不是问题(有或没有选项,情节是相同的)。
我也试过了:
set(fh,'PaperPositionMode','auto')
这并不能解决问题。
cronjob 运行以下命令:
/usr/local/bin/matlab -nodesktop -r "startup; perform_plots; exit"
任何帮助将不胜感激!
【问题讨论】:
-
你能发布
get(fh)的输出吗?
标签: matlab crontab resolution