- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
I'm trying to implement the solution given in the forum post Proc sgplot: plotting different colors and markers for several groups in a scatter plot, but my plot markers are not changing with group. Here's my code:
* Create attribute map; data plotattrs; retain id "myid"; length value 3.0 markercolor $ 6 markersymbol $ 6; input value markercolor $ markersymbol $; datalines; 1 red plus 2 green x ; run; * Plot data; proc sgplot data = sashelp.iris dattrmap = plotattrs; scatter x = petallength y = petalwidth / group = species attrid = myid; run;
The plot that is generated represents group by color, but not by marker type:
How can I make the plot marker type vary with group like the marker color does?
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
The value has to match the value of the group variable.
Try
data plotattrs; retain id "myid"; length value $ 10 markercolor $ 6 markersymbol $ 6; input value markercolor $ markersymbol $; datalines; Setosa red plus Versicolor2 green x Virginica blue diamond ; run; * Plot data; proc sgplot data = sashelp.iris dattrmap = plotattrs; scatter x = petallength y = petalwidth / group = species attrid = myid; run;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
The value has to match the value of the group variable.
Try
data plotattrs; retain id "myid"; length value $ 10 markercolor $ 6 markersymbol $ 6; input value markercolor $ markersymbol $; datalines; Setosa red plus Versicolor2 green x Virginica blue diamond ; run; * Plot data; proc sgplot data = sashelp.iris dattrmap = plotattrs; scatter x = petallength y = petalwidth / group = species attrid = myid; run;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Thank you-- I knew I was missing something basic.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
You may also want to consider using longer text fields by default for you options just so you don't do what I did and tryto stuff "diamond" into a 6 character field.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
ods graphics / attrpriority=none;
proc sgplot data = sashelp.iris;
styleattrs datacolors=(red yellow blue) ;
scatter x = petallength y = petalwidth /
jitter group = species;
run;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for this, Ksharp. I wasn't aware of the "styleattrs" statement in proc sgplot.