Data visualization with SAS programming

ods graph - how to align graphs in html and how to start the axis from zero

Reply
Regular Contributor
Posts: 235

ods graph - how to align graphs in html and how to start the axis from zero

First question: aligning output

All my graphs are placed in the center, i want them left

/* general graph settings */
goptions reset=all border cback=white htitle=12pt;
OPTIONS DEV=activex;
    ODS MARKUP
    STYLE=
    CODEBASE="http://imecwww/~sas/EG/sasgraph.exe"
    FILE=_webout
    ;   

ods html file=_webout (title="&run_id View ") stylesheet=(URL="http://imecwww.imec.be/~osp/fab300/CSS/ImecStyleProcReport.css");
/* graphs to display JSC Voc Eta FF */
title1 'Overview Voc (mV)';
proc gchart data=wacom_graphs;
     VBAR Measurement /  width = 3.5 sumvar=VocD type=sum discrete autoref ;
run; quit;

title1 'Overview JSC ';
proc gchart data=wacom_graphs;
     VBAR Measurement /  width = 3.5 sumvar=JSCD type=sum discrete autoref ;
run; quit;

title1 'Overview Efficiency (%)';
proc gchart data=wacom_graphs;
     VBAR Measurement /  width = 3.5 sumvar=EtaD type=sum discrete autoref ;
run; quit;

title1 'Overview Fill Factor (%)';
proc gchart data=wacom_graphs;
     VBAR Measurement /  width = 3.5 sumvar=FFD type=sum discrete autoref ;
run; quit;
ods html close;

-----------------------

Second question (other graphs - up to 10 overlay graphs)

The goal is that the curves will cut the x and y axis.  How can I do this, now they start at -2 or something.

/* Define symbol characteristics */
axis1 label=("I")
      width=2;

axis2
      label=("V")
      width=2;


legend1 label=none
        position=(top center inside)
        mode=share;

proc gplot
data=all_data;
plot &plotstatement   /overlay legend=legend1
       haxis=axis1
                            vaxis=axis2
       vzero hzero
;
run;

SAS Employee
Posts: 980

ods graph - how to align graphs in html and how to start the axis from zero

Per the first question...

Since you're using "ods html" output, you should be able to use the 'nocenter' option, such as ...

options nocenter;

ods html .... {your other code}

Per the second question - I'm not exactly sure what you're asking.  Could you elaborate more?

Regular Contributor
Posts: 235

ods graph - how to align graphs in html and how to start the axis from zero

i did not knew that option, thanks! looking for that a long time

the second well i got multiple curves, but they only want to see the positive values and especially the point where the curves cuts one of the axes.

So I tried to only select the positive points, but there is still some white space between.

So maybe when i select all the points, but the axes have to start at 0.0 then. Because when i select all the points the axis start at -2,-5 default for example.

I hope it is more clear now.

SAS Employee
Posts: 980

ods graph - how to align graphs in html and how to start the axis from zero

Hmm ... I'm not 100% sure how to get a graph like that -- you're basically just wanting to "clip" the graph and show the portion that's above zero, eh?  If this was proc gmap, you could use proc gproject to clip & close the lines around the polygons, but I'm not sure if gplot has an equivalent.

You could use 'mode=include' on the symbol statement so that the obsns that are outside the axis still have an effect on the interpolations, but I don't think that's going to "clip" them like what you're wanting.

Perhaps one of the gtl experts will know if this is possible in sgplot, etc(?)

SAS Super FREQ
Posts: 1,141

ods graph - how to align graphs in html and how to start the axis from zero

If you can attach a illustration of what you want and some sample data, it will be easier to suggest options. 

SAS Super FREQ
Posts: 925

Re: ods graph - how to align graphs in html and how to start the axis from zero

Try running this program and see if this is the look you;re after:

data wave;
  do x=-6 to 6 by .05;
    y=sin(x);
    output;
  end;
run;

symbol i=join;
axis1 style=0;
goptions dev=png;
ods html;
proc gplot data=wave;
plot y*x / href=0 vref=0 noframe vaxis=axis1 haxis=axis1;
run;
quit;
ods html close;

Thanks!

Dan

Ask a Question
Discussion stats
  • 5 replies
  • 557 views
  • 0 likes
  • 4 in conversation