SAS中GPLOT的颜色选项

时间:2014-12-02 09:17:16

标签: sas

我有一个时间序列,横轴是年份的变量。一旦我用gplot程序绘制它,我想用不同颜色划分每年绘制的图形。我已经尝试在gplot过程中执行if statemente定义符号选项内的颜色,如此

符号

如果年份= 2006年则c =红色;

(这是非常简化的,它将取决于更多的年份和所有这些东西) 但是这个荒唐的工作。

编辑: 谢谢大家,但我认为我没有正确解释自己。我

拥有此代码



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;




我想用不同的颜色着色每一年。 我想告诉你我的图表,但我不知道如果idont有10个声誉:(

事实上,我希望SOMETHNG等于这个例子 http://support.sas.com/documentation/cdl/en/graphref/63022/HTML/default/viewer.htm#a003259878.htm 但是在GPLOT的这个程序中已经不存在了

1 个答案:

答案 0 :(得分:1)

一种简单的方法是在GOPTIONS语句中创建列表颜色,如下所示:

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

symbol value=dot;

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

您需要仔细检查输出年份是否符合您想要的颜色。

另一种方法是为您正在绘制的每个组指定单独的符号语句。请尝试下面的示例,它是代码的精简版本。您需要创建一个YEAR变量并将其包含在PLOT语句中,以便每年将其分配给不同的符号语句/颜色。

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;

希望有所帮助。