BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
PaalNavestad
Pyrite | Level 9

I have a challenge in getting attribute maps to relate to markers symbols.

 

In the following graph I want different symbols for the group variables

FactorpltPNG.PNG

I have an attribute set that contain the group as value, ID and Markercolor, linecolor and Marker symbol.

I've been using this blog as an example

https://blogs.sas.com/content/graphicallyspeaking/2012/02/27/roses-are-red-violets-are-blue/

 

However I do not get the markersymbol to work in the program below. If anybody can spot my mistake or another reason why this does not work I would be gratefull. I need to use an attribute map as I want the colors and symbols to be consitent with different subset of the lithography. There are no warnings in the log.

 

data WORK.PLOT;
  infile datalines dsd truncover;
  input New_name:$28. Factor2:32. Factor1:32. Variable:$5.;
datalines4;
CLAYSTONE,-0.185413784,0.8765300403,DEN
CLAYSTONE,0.0802383641,-0.942423341,DT
CLAYSTONE,0.0894057721,-0.914880023,DTS
CLAYSTONE,-0.136821684,0.8858383038,MD
CLAYSTONE,0.499795716,0.5467842298,rdep2
CLAYSTONE,0.8796590392,0.1908197143,RMED
SANDSTONE,-0.073826801,-0.810730681,DEN
SANDSTONE,0.0054279929,0.9557568336,DT
SANDSTONE,-0.008915198,0.9355992025,DTS
SANDSTONE,0.0206300191,-0.860819962,MD
SANDSTONE,0.7554762984,-0.022696386,rdep2
SANDSTONE,0.7646326321,-0.028504051,RMED
SANDY CLAYSTONE,-0.534628033,0.5768449572,DEN
SANDY CLAYSTONE,0.106994111,-0.886402929,DT
SANDY CLAYSTONE,0.3631873579,-0.808710324,DTS
SANDY CLAYSTONE,-0.908688287,0.1857373082,MD
SANDY CLAYSTONE,0.5436369576,0.7820378251,rdep2
SANDY CLAYSTONE,0.5483943704,0.8034061258,RMED
SILTY SANDSTONE,-0.053856972,0.8735052089,DEN
SILTY SANDSTONE,0.0412853994,-0.968138473,DT
SILTY SANDSTONE,0.0332220091,-0.956833223,DTS
SILTY SANDSTONE,-0.040747162,0.9220015982,MD
SILTY SANDSTONE,0.9423890513,0.0879985013,rdep2
SILTY SANDSTONE,0.9433741015,0.0778507436,RMED
;;;;

data LITH_ATTRIBUTES;
  infile datalines dsd truncover;
  input ID:$4. value:$28. Markercolor:$18. Linecolor:$18. Markersymbol:$25.;
datalines4;
lith,ANHYDRITE,BRPK,BRPK,Triangle
lith,CLAYSTONE,aquamarine,aquamarine,Diamondfilled
lith,COAL,DABGR,DABGR,Plus
lith,CONGLOMERATE,DarkGreen,DarkGreen,TriangleDownfilled
lith,CONGLOMERATE MUDDY SANDSTONE,DarkGreen,DarkGreen,CircleFilled
lith,DOLOMITIC LIMESTONE,BIO,BIO,HomeDownFilled
lith,HALITE,Beige,Beige,SquareFilled
lith,INTRUSIVE ROCK,VIV,VIV,TriangleLeftFilled
lith,LIMESTONE,BIPB,BIPB,TriangleFilled
lith,MARL,deepskyblue,deepskyblue,CircleFilled
lith,METAMORPHIC ROCKS,BIP,BIP,TriangleRightFilled
lith,MUDDY SANDSTONE,Brown,Brown,TriangleLeft
lith,SANDSTONE,chocolate,chocolate,CircleFilled
lith,SANDY CLAYSTONE,burlywood,burlywood,TriangleDownFilled
lith,SHALE,Olive,Olive,SquareFilled
lith,SILTSTONE,BRO,BRO,DiamondFilled
lith,SILTY CLAYSTONE,gold,gold,Starfilled
lith,SILTY SANDSTONE,BIGB,BIGB,Hash
lith,SILTY SHALE,blanchedalmond,blanchedalmond,Star
lith,UNKNOWN,salmon,salmon,TriangleRight
lith,VOLCANIC CLASTICS,crimson,crimson,IBeam
;;;;


ods graphics on / imagemap;
proc sgplot data=plot aspect=1 dattrmap=Lith_attributes;
	scatter x=Factor1 y=Factor2/ group=New_name markerattrs=(symbol=circlefilled size=10 px) datalabel=variable attrid=lith;
	refline 0 / axis=x;
	refline 0 / axis=y;
	xaxis min=-1 max=1;
	yaxis min=-1 max=1;
run;
1 ACCEPTED SOLUTION

Accepted Solutions
Cynthia_sas
SAS Super FREQ
Hi:
Why do you have symbol=circlefilled in your SCATTER statement? I suggest you just keep size=10px in your SCATTER statement for MARKERATTRS and allow the attribute map to be in control.

Cynthia

View solution in original post

6 REPLIES 6
Cynthia_sas
SAS Super FREQ
Hi:
Why do you have symbol=circlefilled in your SCATTER statement? I suggest you just keep size=10px in your SCATTER statement for MARKERATTRS and allow the attribute map to be in control.

Cynthia
WarrenKuhfeld
Rhodochrosite | Level 12

Also, be sure to use attrpriority=none when you want different markers (particularly when using an attrpriority=color style like htmlblue).

PaalNavestad
Pyrite | Level 9

Thanks a million. Three poeple here have looked at this and not seen the symbol=circlefilled. Removing and everything worked.

 

The reason it was there was form the first version before we decided we needed more symbols.

ballardw
Super User

@PaalNavestad wrote:

Thanks a million. Three poeple here have looked at this and not seen the symbol=circlefilled. Removing and everything worked.

 

The reason it was there was form the first version before we decided we needed more symbols.


I find it easier to debug graphic problems when one option is on one line such as:

proc sgplot data=plot aspect=1 dattrmap=Lith_attributes;
	scatter x=Factor1 y=Factor2/ 
            group=New_name 
            markerattrs=(symbol=circlefilled size=10 px) 
            datalabel=variable 
            attrid=lith
   ;
	refline 0 / axis=x;
	refline 0 / axis=y;
	xaxis min=-1 max=1;
	yaxis min=-1 max=1;
run;

Long lines of code may tend to obfuscate an option that doesn't appear in a "normal" length statement. Since there may be many graphic options on a single plot statement this is a tad easier to read. Also commenting out one option is easier.

 

PaalNavestad
Pyrite | Level 9

Thanks ballardw. You are completly right. Just old bad habits I think in adding all in one line.

 

 

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
  • 6 replies
  • 1524 views
  • 1 like
  • 4 in conversation