BookmarkSubscribeRSS Feed
vstorme
Obsidian | Level 7

Dear community,

 

Currently I have the following (as an example) working code:

ods noproctitle;

ods html5 style=opal path= "/data/temp" (url=none) body = 'test2_body.htm' frame = 'test2_web.htm' page = 'test2_pagecontent.htm' newfile=page options(svg_mode="inline"); ods graphics on / reset=all scale=off imagemap=on outputfmt=svg ; options svgheight="50%" svgwidth="75%" ; ods proclabel "weight vs height for male students"; title j=c "weight vs height for male students"; proc sgplot data = sashelp.class description =' ' noopaque; scatter x=weight y=height; where sex='M'; run; ods proclabel "weight vs height for female students"; title j=c "weight vs height for female students"; proc sgplot data = sashelp.class description =' ' noopaque; scatter x=weight y=height; where sex='F'; run; ods proclabel "boxplots weight"; title j=c "boxplots weight"; proc sgplot data = sashelp.class description =' ' noopaque; vbox weight / category = sex ; run; ods proclabel "boxplots height"; title j=c "boxplots height"; proc sgplot data = sashelp.class description =' ' noopaque; vbox height / category = sex ; run; ods html5 close;

This creates one plot per page with a page content sidebar which I like. I would however now want to have per page 2 side by side plots. I tried with ods layout gridded and ods region, however, this does not give the expected results. Did somebody try this? It does work without the newfile=page option and without the page content, but that is not what I want.

with kind regards,

Veronique

1 REPLY 1
vstorme
Obsidian | Level 7

I managed to upgrade the result a little by using contents instead of page and adding some text in between. However, by using outputfmt=svg, the image size should adapt to the screen used (large screen, laptop screen,...) but this seems not to be the case.

ods noproctitle;

* with ods graphics / imagefmt=svg the contents will resize to 
 the size of the browser container  ;

ods html5 style=opal
          path= "/data/temp" (url=none)
          body = 'test_body.htm'
          contents = 'test_contents.htm' /*creates toc*/
          frame = 'test_web.htm'
          /*page = 'test_pagecontent.htm' newfile=page*/
          options(svg_mode="inline");

/* setup the graphs */
ods graphics on / reset=all scale=off 
                  imagefmt=SVG outputfmt=svg
                  imagemap=on; /* needed for data tips */


ods html5 text= '<h1>Scatter Plots</h1>' ;

ods layout gridded rows=1 columns=2 
  column_gutter=20px;

ods region row=1 column=1;

ods
ods proclabel "weight vs height for male students";
title j=c "weight vs height for male students";
proc sgplot data = sashelp.class description =' ' noopaque;
scatter x=weight y=height;
where sex='M';
run;

ods region row=1 column=2;

ods proclabel "weight vs height for female students";
title j=c "weight vs height for female students";
proc sgplot data = sashelp.class description =' ' noopaque;
scatter x=weight y=height;
where sex='F';
run;

ods layout end;

ods html5 text = '<br>' ;
ods html5 text = '<hr>' ;
ods html5 text = '<br>' ;

******************************************;

ods html5 text= '<h1>Boxplots</h1>' ;

ods layout gridded rows=1 columns=2 
  column_gutter=20px;

ods region row=1 column=1;

ods proclabel "boxplots weight";
title j=c "boxplots weight";
proc sgplot data = sashelp.class description =' ' noopaque;
vbox weight / category = sex ;
run;

ods region row=1 column=2;

ods proclabel "boxplots height";
title j=c "boxplots height";
proc sgplot data = sashelp.class description =' ' noopaque;
vbox height / category = sex ;
run;


ods layout end;
ods html5 close;

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 1 reply
  • 476 views
  • 0 likes
  • 1 in conversation