SAS ods html 输出得到黑框而不是绘图

问题描述 投票:0回答:1

我正在尝试在 for 循环中使用 PROC SGRENDER 生成绘图。在作业执行中运行代码时,我遇到黑框而不是绘图。当我将作业提交中的链接复制到浏览器中时,我收到相同的输出。

这些图旨在显示在不需要选择参数的应用程序中。我正在使用 SAS Viya 3.5

filename cd ".";
ods select all;
ods preferences;
ods html5 options(svg_mode="inline");
ods graphics /outputfmt=svg;

ods html5 (id=web) style=daisy path=cd
                          file='test';

%macro CreatePlots;
%local model i;
%do i=1 %to %sysfunc(countw(&modelid_list.,%str( )));
    %LET model = %scan(&modelid_list., &i.,%str( ));
    %put &=model;

    PROC SQL NOPRINT;
    SELECT distinct Name into :ShortName
        FROM PlotData WHERE modelID=&model.;
    QUIT;


PROC TEMPLATE;
   DEFINE STATGRAPH ArrowPlot;
      BEGINGRAPH ;
        ENTRYTITLE "Model: &ShortName.    ";


        LAYOUT OVERLAY /  WALLDISPLAY=(FILL) XAXISOPTS=(DISPLAY=NONE 
                LINEAROPTS=(VIEWMIN=-0.05 VIEWMAX=1.05)) YAXISOPTS=(DISPLAY=NONE LINEAROPTS=(VIEWMIN=-0.6 VIEWMAX=3));

            POLYGONPLOT X=x Y=y ID=Id / COLORRESPONSE=Sign COLORMODEL=(lightblue Pink) 
                DISPLAY=(OUTLINE FILL) OUTLINEATTRS=(COLOR=white /*white on regular screen*/ THICKNESS=2px);
        ENDLAYOUT;
      ENDGRAPH;
   END;
RUN;
    PROC SGRENDER DATA=PlotData(where=(modelID=&model.)) TEMPLATE=ArrowPlot;
RUN;

%end;
%mend CreatePlots;
%CreatePlots;

ods html5 close;
ods listing

在浏览器中,如果我选择“另存为”(HTML) 此输出并在浏览器中再次打开保存的文件,我将获得包含所有绘图的正确输出。

sas sas-ods
1个回答
0
投票

我在 Viya LTS 2024.03 中也遇到同样的问题。 SVG 图片在 SASStudio 和 SASJobExecution 中显示为黑框。

在分析 html 时,我可以看到图片包含更多元素,而不仅仅是一个大的黑色方块(条形、轴等)。但所有元素(包括背景)都是黑色的,所以它看起来只是一个大的黑色方块。

© www.soinside.com 2019 - 2024. All rights reserved.