我用MATLAB生成了一个元素较多的图形(100000+),想将其保存为PDF文件。使用zbuffer或painters渲染器,我得到了非常大且打开缓慢的文件(超过4 Mb)- 所有点都处于矢量格式中。使用OpenGL渲染器将图形光栅化为PDF,对于绘图来说很好,但对于文本标签则不太好。该文件大小约为150 Kb。
例如,请尝试此简化代码:
例如,请尝试此简化代码:
x=linspace(1,10,100000);
y=sin(x)+randn(size(x));
plot(x,y,'.')
set(gcf,'Renderer','zbuffer')
print -dpdf -r300 testpdf_zb
set(gcf,'Renderer','painters')
print -dpdf -r300 testpdf_pa
set(gcf,'Renderer','opengl')
print -dpdf -r300 testpdf_op
实际数字更加复杂,包含多个轴和不同类型的绘图。
有没有一种方法可以将图像栅格化,但保持文本标签为矢量?
OpenGL的另一个问题是,在Mac OSX的终端模式(-nosplash -nodesktop -nodisplay)下无法使用。看起来OpenGL不被支持。我必须使用终端模式进行自动化操作。我运行的MATLAB版本是2007b。Mac OSX服务器10.4。