2014-12-02 212 views
0

我有一个时间序列,其中水平轴上的变量是年份。一旦我用gplot程序绘制它,我想用不同的颜色将图形划分为每年绘制每年。我曾尝试定义内部符号选择颜色的时候像这样SAS中的GPLOT中的颜色选项

符号,如果statemente做一个gplot过程内

如果一年= 2006,则C =红色;

(这是非常简单的,这将取决于更多的年份和所有这些东西) 但这desnt工作。

编辑: 谢谢大家,但我想我didint好好解释一下自己。我

有这样的代码

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

 
run; 
 
quit;

,我想每个有色不同颜色的岁月。 我想告诉你,我的图形,但我不能,如果idont有信誉:(10

其实我想做SOMETHNG等于这个实例 http://support.sas.com/documentation/cdl/en/graphref/63022/HTML/default/viewer.htm#a003259878.htm 而是在这个过程中GPLOT

+0

请发布您的gplot代码或类似的东西(最好是适用于SASHELP数据集或包含的数据集)。你究竟做了什么取决于你的数据;这听起来像你需要一个分组选项,但你应该发布你的代码要清楚。 – Joe 2014-12-02 16:02:23

+0

如果您发布了要生成的图表的草图,它也会有所帮助。 – user667489 2014-12-02 17:42:35

+0

一般来说,您可能需要考虑SGPLOT而不是GPLOT,因为它可以生成更好看的图。你有什么版本的SAS? – Reeza 2014-12-02 21:55:11

回答

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; 

希望有所帮助。