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.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.