gpt4 book ai didi

matlab - 将终端下的Matlab不可见图保存为相同大小的图像

转载 作者:太空宇宙 更新时间:2023-11-03 19:10:09 28 4
gpt4 key购买 nike

我正在通过 SSH 连接到 Linux 服务器并进行一些 MATLAB 编程。我想将不可见的情节另存为

figH = figure('visible','off') ;  
% Plot something
% save the plot as an image with same size as the plot
close(figH) ;

saveas()print() 将改变保存图像的大小,而不是绘图的大小。同样对于 print(),所有三种渲染器模式(-opengl-ZBuffer-painters)都不能在 Linux 服务器上以终端仿真模式使用。 getframe() 也不起作用。我想知道如何解决这些问题?谢谢和问候!

最佳答案

使用以下命令序列连接并启动 MATLAB:

ssh -x user@server          # disabled X11 forwarding
unset DISPLAY # unset DISPLAY variable
matlab -nodisplay # start MATLAB without the desktop

然后用一个简单的图来说明:

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

我自己试了一下,效果和预期的一样。


编辑:

您始终可以使用 -r<number> 指定 DPI 分辨率,例如非常高的分辨率:

print -dpdf -r600 file.pdf

请注意,您可以使用 -r0指定屏幕分辨率。

您还可以使用 PaperPositionMode 打开所见即所得的图形打印属性:

figure, close
plot(1:10)
set(gcf, 'PaperPositionMode', 'auto')
print -deps2c -r0 file.eps
exit

关于matlab - 将终端下的Matlab不可见图保存为相同大小的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1853259/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com