Tim*_*Tim 15 matlab plot command-line save
我是SSH连接到Linux服务器并进行一些MATLAB编程.我想把隐形情节保存为
figH = figure('visible','off') ;
% Plot something
% save the plot as an image with same size as the plot
close(figH) ;
Run Code Online (Sandbox Code Playgroud)
saveas()
并且print()
将改变保存的图像比图的大小不同的大小.还对print()
所有三个渲染器模式(-opengl
,-ZBuffer
和-painters
)不能在终端仿真模式中使用的Linux服务器上.getframe()
也不起作用.我想知道如何解决这些问题?感谢致敬!
Amr*_*mro 15
使用以下命令序列连接并启动MATLAB:
ssh -x user@server # disabled X11 forwarding
unset DISPLAY # unset DISPLAY variable
matlab -nodisplay # start MATLAB without the desktop
Run Code Online (Sandbox Code Playgroud)
然后是一个简单的情节来说明:
figure, close # must do this first, otherwise plot is empty
plot(1:10) # usual plotting
print file # save the figure as file.ps
saveas(gcf, 'file.eps', 'eps2c') # saveas aslo works
exit # done
Run Code Online (Sandbox Code Playgroud)
我自己尝试过,它按预期工作.
编辑:
您始终可以使用-r<number>
例如非常高的分辨率指定DPI 分辨率:
print -dpdf -r600 file.pdf
Run Code Online (Sandbox Code Playgroud)
请注意,您可以使用-r0
指定屏幕分辨率.
您还可以使用以下属性打开WYSIWYG数字打印PaperPositionMode
:
figure, close
plot(1:10)
set(gcf, 'PaperPositionMode', 'auto')
print -deps2c -r0 file.eps
exit
Run Code Online (Sandbox Code Playgroud)