我有一个自己编写的 Matlab 应用程序,希望将其放在运行 Octave 的 AWS 服务器上,以通过网络公开提供服务。我从来没有用过八度。
我读过“--no-window-system”将允许我无头运行,并且我知道我可以使用“saveas(fig,FileName,format)”来保存我的数字。我的问题是plot()和histogram()在Octave中没有头部的情况下是否可以工作,如果是这样我该怎么做? (我希望将这些数字转为我将在网页中引用的 gif 或 jpeg。)
TIA
理论上它应该按预期工作。
需要记住并尝试解决的事项包括以下内容:
如果您的环境不提供 X DISPLAY,则只有 gnuplot 图形工具包可用。如果您想“伪造”x 显示以允许您使用其他图形工具包(例如graphics_toolkit('qt')
),考虑通过 xvfb-run 运行 Octave,它模拟一个“哑”x 服务器。 (即启动八度音程为xvfb-run octave
, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=805295 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=805295 ).
-
当您尝试绘制“屏幕外”的内容时,OpenGl 有时会抱怨。如果您的图像默认设置为不可见,则可以解决此问题,这仍然允许打印它们而不必出现在屏幕上。为此,请在绘制任何内容之前将“根”图形对象设置为不可见:
set(0, 'defaultfigurevisible', 'off')
具体来说,您的代码可能如下所示:
gnuplot_toolkit('qt';) # optional, if run via xvfb-run or the AWS supports an X Display
set(0, 'defaultfigurevisible', 'off');
h = plot( 1 : 10 );
saveas( h, 'out.png', 'png' ); # you can replace 'png' with 'gif' or 'jpg' etc.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)