我有一个时间序列,横轴是年份的变量。一旦我用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的这个程序中已经不存在了
答案 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;
希望有所帮助。