Matlab - 直接绘制到.ps文件

时间:2014-10-16 14:03:36

标签: matlab

目前我正在尝试做类似的事情:

h       =   figure( 1 );
subplot( 1, 2, 1);
plot( X, Y );
grid on;
xlabel( 'abc' );
ylabel( 'xyz' );
title( 'Nice' );        
legend( 'Awesome' )

handles     =   findall( 0, 'type', 'figure' );
createPDF( 'outputFileName', numel( handles ) );

所以,上面会在屏幕上生成一个.fig输出。模块createPDF调用将打开的图形转换为.ps文件并将其更改为PDF。当我在我的电脑上本地运行时,我看到所有数字都弹出,然后转换为.PS并最终转换为PDF

但是,我正在努力在服务器上运行它作为没有屏幕的批处理,因此我假设也没有.fig输出。如何将这些图表直接发送到.PS文件。上面的代码在for循环中运行并生成45个不同的数字。

由于

1 个答案:

答案 0 :(得分:3)

打印功能正是您所需要的!

print('-dpsc2','-append','YourPSFile'); %// The '-append' is used to create a single file in the loop instead of multiple files.

整个代码:

clear
clc

for k = 1:5

X = 1:10;
Y = rand(1,10);

h = figure('Visible','off');

plot( X, Y );
grid on;
xlabel( 'abc' );
ylabel( 'xyz' );
title( 'Nice' );        
legend( 'Awesome' )

print('-dpsc2','-append','YourPSFile'); %//Simply replace 'YourPSFile'with the name you want. Easy to implement in a for-loop with sprintf for instance.

end

以下是pdf的屏幕截图:

enter image description here