在SAS 9.3中,我可以使用ODS HTML GPATH
来指定我希望保存图形的路径(如果我愿意的话)。在9.4中,默认情况下(即每当我打开SAS时)每当我制作图表(例如PROC SGPLOT
)时,它会自动将图表保存到保存SAS程序的位置。我试过去工具 - >选项 - >偏好 - >结果并取消选中HTML和ODS选项的每个组合,但无论我仍然获得自动保存的图形。我该怎么办呢?我最好仍然在 SAS中有ODS输出,但我不希望这些PNG(或其他)图像自动保存到SAS以外的计算机上。
编辑:更多信息,因为上述差异不明确。
1)在9.3中我有说ODS GRAPHICS ON
并指定ODS HTML GPATH
以便让SAS将我的图表保存到SAS以外的计算机上(或者我认为) 。如果我想在SAS内部使用ODS图形,但不在SAS之外保存图形,我可以说ODS GRAPHICS ON
并跳过ODS HTML GPATH
语句。
2)当我打开9.4而不做任何关于ODS
的陈述(即默认保留设置),但运行SGPLOT
等程序时,我 A 获得一个html图形(在SAS的“结果”窗口中显示的ODS图)和一个我可以在Windows Photo Viewer中双击打开的图形,以及 B )该图是另外和自动保存在我的SAS程序所在的位置。
尝试停止此自动图表保存,我在运行PROC SGPLOT
之前在SAS 9.4中尝试了以下内容:
1)ODS GRAPHICS OFF
:没有任何改变。我仍然得到上面第(2)点列出的所有内容。
2)ODS HTML CLOSE
(带ODS GRAPHICS ON
):在SAS中丢失图表的html / ODS版本,但在SAS中仍然有图表我可以双击在Windows照片查看器中打开,仍然是图表会自动保存到我的SAS程序的位置。
3)ODS GRAPHICS OFF
和ODS HTML CLOSE
:与之前的情况相同((2)直接在上面)。
我想要的(我觉得这就是9.3中的情况)是肯定的,在 SAS中出现的ODS图表(不需要你可以双击的版本)在Windows Photo Viewer中打开,但是没有,没有SAS将PNG保存到我的计算机上(具体来说,我的SAS程序的位置)。
答案 0 :(得分:4)
首先,关于你尝试过的一些注意事项。
ODS GRAPHICS
开启/关闭不会对SGPLOT
或任何SG
程序产生任何实际影响;无论怎样,它们都是ODS GRAPHICS
。它影响的是PROC UNIVARIATE
和具有两种类型图形的类似程序 - 旧样式图形和ODS GRAPHICS
。 ODS GRAPHICS ON
告诉他们使用ODS GRAPHICS
,OFF
告诉他们使用旧方法。
ODS HTML CLOSE
会告诉SAS不要生成HTML输出,但只要您打开另一个目的地(ODS LISTING
?),它就会生成仍在GRAPH
目的地的图表。另外,它仍然使用ODS HTML CLOSE
生成图形(而不是注释“没有输出目的地”并且没有输出)这一事实告诉我你仍然打开一个目的地(同样可能LISTING
)。因此,ODS HTML GPATH
不一定能解决您的问题(因为它只会影响HTML输出的去向)。您需要为每个开放目标设置GPATH
(LISTING
,HTML
或两者,具体取决于您偏好设置中的复选框。
解决方案: 由于您希望它消失,最好的办法是将它放在您的工作目录中(当它正确关闭时由SAS清理)。
ods listing gpath="%sysfunc(getoption(work))";
proc sgplot data=sashelp.class;
vbar sex;
run;
请注意,.png文件是创建的(因为它们一直是),但现在它们进入工作目录(您可以像子库一样浏览并查看其中的每个文件)。
您可以将初始行放在autoexec.sas
文件中,并告诉SAS在SAS启动时运行它(在命令行上使用-AUTOEXEC选项)。
您还可以取消选中工具中的Listing
- >偏好设置 - >结果,和/或使用ODS LISTING CLOSE;
,并且不应显示这些文件。
答案 1 :(得分:1)
转到工具 - >选项 - >偏好 - >结果并取消选中创建列表。它应该注意自动将PNG文件保存到程序文件中。
Poornachand
答案 2 :(得分:0)
在9.3中,当ODS HTML
打开时,图表默认为用户的主目录。即使您未指定路径,它们也会保存到硬盘驱动器中。否则,浏览器无法显示图像。默认位置可能已移至9.4(我没有要测试的副本),但两个版本都将png文件放在您的硬盘上。