BookmarkSubscribeRSS Feed
chris_lampron
Fluorite | Level 6

Good afternoon,

I am currently using SAS 9.3 and I have a question about PROC SGPLOT.  I am trying to have the yaxis display values from 0 to 10 be increments of 2, followed by a value of 20 and finally a value of 100.  I am using the following code:

     proc sgplot data=test;

          scatter x=mean y=cv/markerattrs=(symbol=circlefilled);

          series x=mean y=cv2;

          yaxis values=(0 to 10 by 2 20 100);

     run;

The output shows 0 to 10, and the 20, but then the 100 is not being displayed on the axis.  The rest of the yaxis is blank.  To me, it seems that the 100 tick mark is there, it is just off the graph.

What I would like to do is compress everything between 10 and 20, then again between 20 and 100 so that I can see the values between 0 and 10 and then the values at 20 and 100 on the yaxis.  Using PROC GPLOT, I can use the axis order option and make the changes that I want.  However, for this particular program, I am using SGPLOT.  The image below shows what a yaxis would look like when I use GPLOT.

SAS Gplot Yaxis.jpg

I saw that in SAS 9.4 there is a yaxis option of RANGES that could be used, but I can't seem to find anything in SAS 9.3.

Are there any suggestions on what I could do to resolve this?

2 REPLIES 2
Jay54
Meteorite | Level 14

GPLOT is showing you a discrete axis, where the pixel distance between 10 and 20 is the same as between 20 and 100.  Your SGPLOT code will create a numeric scaled axis, where 2, 4, etc will be close together, and 100 far away.  It is possible some of the smaller values may collide, causing alternate values to get thinned.  If you do want the scaled numeric axis and see all values, set FITPOLICY=none.

 

If you really want a discerte axis like with GPLOT, then set the YAXIS TYPE=discrete, and then set the values on the axis as character values - "20" and so on.

Jay54
Meteorite | Level 14

And, following up, FITPOLICY=none may not be available with SAS 9.3.

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

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.

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
  • 2 replies
  • 5437 views
  • 0 likes
  • 2 in conversation