Hi all,
This SGPLOT-HBOX graph is almost what I want
It shows the distribution of a concentration on a log10 scale. Means and far outliers are also determined on a log scale. What I would like is the X axis to show original units instead of log units. I need a solution that will accommodate BY processing with varying ranges on the X axis.
Thanks.
PG
Here is a trick that might work for you:
1. Create a user-defined format that maps the log tick values back to the original values. Create a mapping that will encompass the total range of data across the BY-groups. The INTEGER option that you're using should make that mapping easier to create.
2. Use the TICKVALUEFORMAT option to assign the format to the X-axis.
Hope that helps!
Dan
Can you post the SGPLOT code you're using? What logstyle are you using?
Here is the code
proc sgplot data=metDet;
by element;
hbox logvaleur / category=grpOrganisme datalabel=site labelfar;
*xaxis type=log logbase=10 label="Teneur (mg/kg)";
xaxis label="Log(Teneur (mg/kg))" integer;
yaxis display=(nolabel);
run;
If I use the commented out XAXIS and valeur instead of logvaleur, the mean and outliers (and whiskers, I think) will be determined on a linear scale, which is not what I want.
PG
Message was edited by: PG Added the change of variable required to go to a linear scale.
Here is a trick that might work for you:
1. Create a user-defined format that maps the log tick values back to the original values. Create a mapping that will encompass the total range of data across the BY-groups. The INTEGER option that you're using should make that mapping easier to create.
2. Use the TICKVALUEFORMAT option to assign the format to the X-axis.
Hope that helps!
Dan
But that's cheating! OK, I'll try it . Thanks Dan. - PG
It worked nicely in most cases. It wouldn't look good for cases where the X range is too short.
Thanks again!
PG
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.
Ready to level-up your skills? Choose your own adventure.