It seems you have computed the Low and High values based on some stat. You have a couple of options:
Sorry again for bothering
Still having a problem with this
Here is what I am doing
I am using discretattrmap to add the specific colour and shape
discreteattrmap name='colors' / ignorecase=true;
value '1' / markerattrs=(color=blue symbol=squarefilled );
value '2' / markerattrs=(color=blue symbol=square ) ;
value '3' / markerattrs=(color=viro symbol=diamondfilled);
enddiscreteattrmap;
discreteattrvar attrvar=classfill var=id attrmap='colors';
then the plot is created with the following code
highlowplot y=obsid low=low high=high / CLIPCAP=true;
scatterplot y=obsid x=mean / markersizeresponse=w markersizemin=10 markersizemax=30 group=classfill ;
But
THe character in the middle of the OR line is not showing!
If i change the code to
referenceline y=ref / lineattrs=(thickness=15 color=_bandcolor);
highlowplot y=obsid low=low high=high / CLIPCAP=true;
scatterplot y=obsid x=mean / markerattrs=(symbol=squarefilled) group=classfill ;
it will work perfectly but the symboles are all squares
if I change the code to
highlowplot y=obsid low=low high=high / CLIPCAP=true;
scatterplot y=obsid x=mean / markersizeresponse=w markersizemin=10 markersizemax=30 group=classfill ;
Then the boxes are resized according tot he column w but all the symboles are the same of course
THe problem arizes when I try to combine these two options:
highlowplot y=obsid low=low high=high / CLIPCAP=true;
scatterplot y=obsid x=mean / markersizeresponse=w markersizemin=10 markersizemax=30 group=classfill ;
Any idea on how to solve this? See attached image
Kind regards
I will have to check with the experts for the interactions between MarkerSizeResponse and DiscreteAttrMap.
In the meantime, if you are using DiscreteAttrMap only to control the shape of the symbols by group, I suggest you can just set the three symbols you want (in the right order) using the DATASYMBOLS option in BEGINGRAPH to see if that works. Leave out the DiscreteAttrMap. This will tell us if there is some interaction we need to consider.
If you can include the full program with working data (not confidential) that I can run, I will have a better shot to debug the issues.
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.