manu
manu

Reputation: 1

Color options in GPLOT in SAS

I have a temporal series with a variable in the horizontal axis that is the year. Once i have drawn it with gplot procedure I want to divide the graphic in years painting each year in different color. I have tried to do an if statemente inside gplot procedure when defining the color inside symbol options like this

symbol

if year=2006 then c=red;

(this is very simplified, it would depend on much more years and all this stuff) but this desnt work.

EDITED: Thanks everybody but I think i didint explain myself properly. I

have this code

PROC GPLOT DATA = work.Datosipppa
;
PLOT IPPPA * date  /
 OVERLAY
	VAXIS=AXIS1
	HAXIS=AXIS2
FRAME	LEGEND=LEGEND1
href='01jun2006'd '01jun2007'd 
;
PLOT2 tasaParoMensual * date  = 2 /
 OVERLAY
 	VAXIS=AXIS3
OVERLAY 
 	LEGEND=LEGEND1
 ;

 run;
 quit;

and i want to colored each of the years in different colour. I want to show you my graph but i cant if idont have 10 of reputation :(

IN FACT I WANT TO DO SOMETHNG EQUAL TO THIS EXAMPLE http://support.sas.com/documentation/cdl/en/graphref/63022/HTML/default/viewer.htm#a003259878.htm BUT INSTEAD OF IN THIS PROCEDURE IN GPLOT

Upvotes: 0

Views: 2648

Answers (1)

SunnyRJ
SunnyRJ

Reputation: 393

One straightforward approach is to create a list colors in the GOPTIONS statement, like this:

goptions reset=all colors=(red yellow green blue purple black);

symbol value=dot;

proc gplot data=sashelp.cars;
    plot horsepower * enginesize = type;
run;
quit;

You will need to review the output carefully that the years match the colors you want.

Another way is to specify separate symbol statements for each group you are plotting. Try this example below that is a stripped down version of your code. You will need to create a YEAR variable and include that in the PLOT statement so each year will be assigned to a different symbol statement / color.

goptions reset=all;

*** GENERATE TEST DATA ***;
data have;
    do date = '01Jun2005'd to '01aug2007'd;
        ipppa = ranuni(123456);
        tasaParoMensual = 10 + rannor(123456) ;
        year = year(date);
        output;
    end;
run;

*** SYMBOLS 1-3 ARE USED IN THE FIRST PLOT STATEMENT TO SYMBOLIZE THE THREE YEARS IN THE DATA  ***;
symbol1 value=dot color=red;
symbol2 value=dot color=green;
symbol3 value=dot color=yellow;

*** SYMBOLS 4 IS USED IN THE PLOT2 STATEMENT ***;
symbol4 value=star color=black i=join;

proc gplot data=have;
    plot ipppa * date = year / 
        href='01jun2006'd '01jun2007'd 
    ;
    plot2 tasaParoMensual * date ;
run;
quit;

Hope that helps.

Upvotes: 1

Related Questions