BookmarkSubscribeRSS Feed
Srigyan
Quartz | Level 8

I am running following code.

 

ods graphics on;
proc freq data=sashelp.heart order=freq ;
   tables smoking_status*weight_status / plots=mosaic(square ) ;
run;

ods graphics off;

I am getting mosaic plot but i dont get a data label i.e.what % heavy has and what % is non-smoker has, is there any option i can add data label.

 

 
1 REPLY 1
koyelghosh
Lapis Lazuli | Level 10

@Srigyan Data labels on the top of graph is going to be tricky (as the rectangles become smaller and smaller). Instead you can use an option so that when you hover over the rectangle it shows all the info. Just use the code below, hover and wait for 1 second.

 

ods graphics on / imagemap;
proc freq data=sashelp.heart order=freq ;
   tables smoking_status*weight_status / plots=mosaic(square ) ;
run;

ods graphics off;

The key is "imagemap" option in ods graphics.

If rather you are looking for percent info in the table then read the second row in every block.

Let me know if this helped in any way.

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

Register now

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 1129 views
  • 1 like
  • 2 in conversation