Data visualization with SAS programming

Why am I getting unusual graphics output?

Reply
Trusted Advisor
Posts: 1,789

Why am I getting unusual graphics output?

I am running a PROC GLM with ODS GRAPHICS turned on. I have selected the four specific outputs I want to appear in the ODS HTML SELECT statement, but somehow I am getting a fifth mysterious output, which I am hoping to eliminate. Please see the attached screen capture, which shows a GLM table OVERALLANOVA, then the mysterious light grey rectangle (this is what I wish to eliminate somehow) and then the next appropriate output, the BOXPLOT. Not shown in the screen capture, the GLM outputs called ANOMPLOT and LSMEANS appear properly below the BOXPLOT. Please let me know what I can do to eliminate this mysterious light grey rectangle.

Here is the SASLOG, as you can tell it was created by a macro which otherwise is running perfectly

MPRINT(PIX_WFR_PKG.PLOTTHIS):   ods graphics on;
MPRINT(PIX_WFR_PKG.PLOTTHIS):   ods trace on;
MPRINT(PIX_WFR_PKG.PLOTTHIS):   ods html select overallanova anomplot BoxPlot lsmeans ;
MPRINT(PIX_WFR_PKG.PLOTTHIS):   proc glm data=h35rawdata7415a plots=( Boxplot(npanelpos=40) anomplot);
MPRINT(PIX_WFR_PKG.PLOTTHIS):   class operator_number;
MPRINT(PIX_WFR_PKG.PLOTTHIS):   model delta1=operator_number/ss1;
MPRINT(PIX_WFR_PKG.PLOTTHIS):   lsmeans operator_number/adjust=t pdiff=anom;
MPRINT(PIX_WFR_PKG.PLOTTHIS):   run;


Output Added:
-------------
Name:       OverallANOVA
Label:      Overall ANOVA
Template:   stat.GLM.OverallANOVA
Path:       GLM.ANOVA.delta1.OverallANOVA
-------------

Output Added:
-------------
Name:       BoxPlot
Label:      Box Plot, 1
Path:       GLM.ANOVA.delta1.BoxPlot
-------------
WARNING: ADJUST=T implies no adjustment for simultaneous inference.

Output Added:
-------------
Name:       LSMeans
Label:      LSMeans
Template:   stat.GLM.LSMeans
Path:       GLM.LSMEANS.operator_number.delta1.LSMeans
-------------

Output Added:
-------------
Name:       AnomPlot
Label:      operator_number ANOM Plot
Template:   Stat.GLM.Graphics.AnomPlot
Path:       GLM.LSMEANS.operator_number.delta1.AnomPlot
-------------
MPRINT(PIX_WFR_PKG.PLOTTHIS):   quit;

NOTE: PROCEDURE GLM used (Total process time):
      real time           1.42 seconds
      cpu time            0.62 seconds


SAS Output.gif
Super User
Posts: 11,121

Re: Why am I getting unusual graphics output?

I think this is related to the value of the NPANELPOS as that controls the number of plots shown. Your value may be asking for more plots than the levels of data supplied will generate.

Contributor
Posts: 35

Re: Why am I getting unusual graphics output?

Are you using any ODS escape characters?

Trusted Advisor
Posts: 1,789

Re: Why am I getting unusual graphics output?

Thanks, , I tried running the program with lower (and higher) values of NPANELPOS, but it didn't affect the graphics output.

Thanks, , I don't know what ODS escape characters are, but using the custom style shown in the screen capture, or using the built-in default ODS style, I have the same problem.

Trusted Advisor
Posts: 1,789

Re: Why am I getting unusual graphics output?

Upon examining the HTML that was created, I see this mysterious segment of HTML code; methinks it is time for me to contact SAS Technical Support, as obviously this strange grey rectangle is purposely being put there (boxplot449.png is the grey rectangle)

<a name="IDX1"></a>

<div>

<div  class="c">

<img alt="Phantom Table for ODS Graphics" src="c:\users\pmiller\documents\temp\August1\BoxPlot449.png" style=" height: 480px; width: 640px;" border="0" class="c">

</div>

</div>

Trusted Advisor
Posts: 1,789

Re: Why am I getting unusual graphics output?

SAS Tech support agrees this is a bug and offers this workaround, which I have tested and it appears to solve the problem.

ods  _ALL_  close;

ods html file="report.html" path="c:\users\pmiller\documents\August1"  (url=none) style=default;

ods graphics on;

ods trace on;

ods select overallanova anomplot BoxPlot lsmeans;

Note that one of the changes I recommend is to use the ODS SELECT statement instead of the ODS HTML SELECT statement. 

Ask a Question
Discussion stats
  • 5 replies
  • 516 views
  • 0 likes
  • 3 in conversation