gpt4 book ai didi

plot - 防止图形写入临时目录

转载 作者:行者123 更新时间:2023-12-02 20:57:10 24 4
gpt4 key购买 nike

将数字输出到磁盘时,我喜欢抑制 SAS 中的所有输出,以强制用户(我)查看创建的实际文件。为此,我设置了以下选项。

ods listing;
ods noresults;
goptions
reset = all
rotate = landscape
xpixels = 1294
ypixels = 800
device = png
gsfname = outPlot
gsfmode = replace
;

我的绘图调用过程可能类似于:

filename outPlot 'C:\Users\...\My Output Directory\Figure.png';

proc gplot data = plot_data;
plot y_value * x_value = symbol /
haxis = axis1
vaxis = axis2
legend = legend1
;
run;
quit;

filename outPlot clear;

据我了解,这会将列表重定向到我想要的输出目录。然而,在我的日志中,我看到这样的内容:

NOTE: 51820 bytes written to C:\Users\...\Temp\1\SAS Temporary Files\_TD6828_2UA3331QB3_\gplot6.png.
NOTE: 51832 bytes written to C:\Users\...\My Output Directory\Figure.png.

这说明先将图写入磁盘的临时文件夹中,然后再写入我想要的目录。

我希望加快绘图创建速度,并怀疑对临时目录的额外写入会减慢速度。

有没有办法只写入我选择的目录?

最佳答案

您很可能打开了多个 ODS 目标。默认情况下,我认为 Enterprise Guide 和 Base SAS Editor 都会打开 HTML 目标。如果您除此之外还打开列表目标,那么这可能会导致第二个输出。

要了解哪些 ODS 目标已开放,您可以查看 dictionary.destinations(或等效的 sashelp.vdest)。请参阅support.sas.com/kb/33/590.html

您还可以使用:

proc sql noprint; 
select destination into :openDestinations separated by ', '
from dictionary.destinations ;
quit;

%put &=openDestinations;

另一种选择是关闭所有打开的目的地,然后仅打开您想要的目的地:

ods _all_ close;
ods listing;

关于plot - 防止图形写入临时目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43500460/

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