我正在使用 Matlab 的 Mapping Toolbox 创建和打印北美的圆锥投影图。当我在 IDE 中运行代码时,绘图被正确打印和保存,但是当使用 -nodisplay -nodesktop -nosplash 在命令行上运行相同的脚本时,我遇到了一个非常奇怪的问题。
在 print() 函数调用期间,Matlab 停止运行脚本,没有任何错误、警告或崩溃日志。Matlab 实际上并没有崩溃……它只是停止执行我的代码。据此假设可以打印不带显示器的图形。
其他人也遇到过类似的问题,并在MathWorks 网站上进行了询问。
到目前为止,还没有人提出解决方案。有没有人有什么建议?提前致谢!
编辑1:
这是一些重现问题的自包含代码。我已经在 R2011b 和 R2012a 上进行了测试。
figure(1)
axesm eckert4; framem; gridm; axis off; tightmap
load geoid
contourfm(geoid, geoidrefvec, -120:20:100, 'LineStyle', 'none');
coast = load('coast');
geoshow(coast.lat, coast.long, 'Color', 'black')
contourcbar
print('-f1','-dpng','-r200','-painters', 'example');