Data visualization with SAS programming

NOSUBPIXEL option in when using SGRENDER

Accepted Solution Solved
Reply
Contributor
Posts: 59
Accepted Solution

NOSUBPIXEL option in when using SGRENDER

Hi,

 

I have a problem where I have to use custom made GTL graphics and move them into RTF. After the SAS update of 9.3 or 9.4 the graphics started to look like s*** in rtf environment. I found out that it is due to the subpixeling feature.

I have no issues disabling the subpixeling by introducing the NOSUBPIXEL option on SGPLOT etc. however when using GTL and SGRENDER I have no clue how to achieve this.

Here http://support.sas.com/documentation/cdl/en/odsug/67921/HTML/default/viewer.htm#p0kroq43yu0lspn16hk1...

is stated that you can give this option on the ODS GRAPHICS statement, but when used I get an error of unknown option. I also should have the 3rd mainentance update installed.

Can I implement this somehow inside the template? Any help is much appreciated!


Accepted Solutions
Solution
‎05-03-2016 04:56 AM
SAS Super FREQ
Posts: 703

Re: NOSUBPIXEL option in when using SGRENDER

Hi

 

The BEGINGRAPH statement in GTL does have a subpixel=off option.

 

You can use the TMPLOUT= option to see the GTL code generated by Proc SGPLOT:

proc sgplot
  data=sashelp.cars
  nosubpixel
  tmplout="c:\temp\sgplot.sas"
;
  vbar type / group=origin;
run;

Is translated into

proc template;
  define statgraph sgplot;
    dynamic _NEGATIVE_;
    dynamic _ticklist_;
    begingraph / collation=binary subpixel=off;
      layout overlay / yaxisopts=(labelFitPolicy=Split) y2axisopts=(labelFitPolicy=Split) xaxisopts=(type=Discrete discreteOpts=(tickValueList=_ticklist_ tickvaluefitpolicy=SplitRotate tickValueListPolicy=Union)) x2axisopts=(type=Discrete discreteOpts=(tickValueList=_ticklist_ tickvaluefitpolicy=SplitRotate tickValueListPolicy=Union)) yaxisopts=(linearopts=(Integer=true));
        BarChartParm X=Type Y=_FREQUENCY_ / primary=true Group=Origin LegendLabel="Frequency" NAME="VBAR";
        DiscreteLegend "VBAR"/ title="Origin";
      endlayout;
    endgraph;
  end;
run;

Also check the doc for the BEGINGRAPH statement

 

Bruno

View solution in original post


All Replies
Solution
‎05-03-2016 04:56 AM
SAS Super FREQ
Posts: 703

Re: NOSUBPIXEL option in when using SGRENDER

Hi

 

The BEGINGRAPH statement in GTL does have a subpixel=off option.

 

You can use the TMPLOUT= option to see the GTL code generated by Proc SGPLOT:

proc sgplot
  data=sashelp.cars
  nosubpixel
  tmplout="c:\temp\sgplot.sas"
;
  vbar type / group=origin;
run;

Is translated into

proc template;
  define statgraph sgplot;
    dynamic _NEGATIVE_;
    dynamic _ticklist_;
    begingraph / collation=binary subpixel=off;
      layout overlay / yaxisopts=(labelFitPolicy=Split) y2axisopts=(labelFitPolicy=Split) xaxisopts=(type=Discrete discreteOpts=(tickValueList=_ticklist_ tickvaluefitpolicy=SplitRotate tickValueListPolicy=Union)) x2axisopts=(type=Discrete discreteOpts=(tickValueList=_ticklist_ tickvaluefitpolicy=SplitRotate tickValueListPolicy=Union)) yaxisopts=(linearopts=(Integer=true));
        BarChartParm X=Type Y=_FREQUENCY_ / primary=true Group=Origin LegendLabel="Frequency" NAME="VBAR";
        DiscreteLegend "VBAR"/ title="Origin";
      endlayout;
    endgraph;
  end;
run;

Also check the doc for the BEGINGRAPH statement

 

Bruno

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 1 reply
  • 293 views
  • 0 likes
  • 2 in conversation