gpt4 book ai didi

sas - 从 PROC SGPLOT 获取 PDF 格式的矢量图形输出

转载 作者:行者123 更新时间:2023-12-02 04:59:08 29 4
gpt4 key购买 nike

有人有关于从 PROC SGPLOT(以及 SGSCATTER 等类似函数)获取干净 PDF 输出的提示吗?

当我使用 ODS 创建图形并将其写入 PDF 时,结果在 sas EG 报告窗口中看起来不错,但 PDF 输出被光栅化为 PDF 的 DPI 设置,因此如果放大 PDF,您可以出像素化。此外,如果我不定义颜色/线条样式,PDF 中的输出将使用不同的颜色和样式(sas 报告窗口中的实线在 PDF 中变为虚线)。

如果我使用 PROC GPLOT 制作相同的图表,它会附带矢量化文本和线条,在缩放/打印时看起来不像垃圾。

我需要更改某个选项吗?我需要设置一些标志吗?我尝试过诸如 OPTIONS DEVICE=SVG 之类的东西,但它似乎不起作用。设置非常高的 DPI 也不是一个很好的解决方案。

代码示例(但实际上,这种情况发生在所有 SG* 具有任何数据/代码的函数上):

options nonumber orientation=landscape;
ods pdf file='FILENAME.pdf' notoc;

proc sgplot data=shipped;
series x=date y=weighted_price / group=type;
run;

proc gplot data=shipped;
plot weighted_price*date=type;

symbol1 c=blue i=join v=none w=1 l=1;
symbol2 c=red i=join v=none w=1 l=1;
symbol3 c=brown i=join v=none w=1 l=1;
run; ods pdf close;

这些在 sas EG 结果窗口中产生大致相同的图形(除了 SGPLOT 看起来更好),但是当它们最终出现在 pdf 中时,SGPLOT 被光栅化为图像并拖放到 PDF 页面上,而 GPLOT 则以可爱的矢量图。

编辑:请参阅我在下面发布的解决方案。我没有发现它有很好的文档记录,但 SAS 9.2 没有很好的 PDF 支持。对于 1-off 图表,有几种可行的解决方法,但最好的解决方案是升级到 SAS 9.3。

最佳答案

这是一个最小的示例(sgplot 代码来自 sas 文档):

ods graphics / imagefmt=pdf;
ods pdf file = 'c:\temp\report.pdf';

proc sgplot data=sashelp.class;
scatter x=height y=weight;
ellipse x=height y=weight;
run;

ods pdf close;

imagefmt=pdf 片段告诉 SAS 以 pdf 格式创建图像本身,而不是将 png 的光栅添加到 pdf 报告中。此代码片段应在您的 c:\temp 目录中生成一个名为 report.pdf 的文件。其中的图像是可缩放的。

下面的链接还有更多内容。

Controlling the Image Name and Image Format

Using PROC SGPLOT for Quick High-Quality Graphs

关于sas - 从 PROC SGPLOT 获取 PDF 格式的矢量图形输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9641363/

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