2014-10-12 70 views

回答

1

這裏是重塑數據,以便所有三個變量是在同一列中,然後將線以不同的顏色映射的一個例子。所以先讓我們做一些假數據。

SET SEED 10. 
INPUT PROGRAM. 
LOOP #i = 1 TO 100. 
    COMPUTE X = #i. 
    COMPUTE Y1 = RV.NORMAL(2,1). 
    COMPUTE Y2 = RV.NORMAL(7,1). 
    COMPUTE Y3 = RV.NORMAL(12,1). 
    END CASE. 
END LOOP. 
END FILE. 
END INPUT PROGRAM. 

現在可以做一個圖表就像你在數據的當前形狀想要的,但通常有用的方法是重塑數據,以便所有三個Y變量是在同一列中,有一個第二分類變量,Var,區分原始變量。 (該FORMATS命令是使圖表中的標籤,在這個例子中看起來更漂亮。)

VARSTOCASES /MAKE Y FROM Y1 TO Y3 /INDEX Var (Y). 
FORMATS X Y (F3.0). 

現在我們可以建立圖,這是非常接近什麼GUI吐出(我編輯的Y軸最小值爲-1)。

GGRAPH 
    /GRAPHDATASET NAME="graphdataset" VARIABLES=X Y Var 
    MISSING=LISTWISE REPORTMISSING=NO 
    /GRAPHSPEC SOURCE=INLINE. 
BEGIN GPL 
    SOURCE: s=userSource(id("graphdataset")) 
    DATA: X=col(source(s), name("X")) 
    DATA: Y=col(source(s), name("Y")) 
    DATA: Var=col(source(s), name("Var"), unit.category()) 
    GUIDE: axis(dim(1), label("X")) 
    GUIDE: axis(dim(2), label("Y")) 
    GUIDE: legend(aesthetic(aesthetic.color.interior), label("Var")) 
    SCALE: linear(dim(2), min(-1)) 
    ELEMENT: line(position(X*Y), color.interior(Var)) 
END GPL. 

enter image description here

+0

安迪W,謝謝,這是非常接近我所需要的。我對GGRAPH很冷淡,但我不認爲我需要VARSTOCASES命令,因爲3個變量都基於相同的數據。每個案件我都有身高和性別。我想有一張關於男性,女性和所有人的身高頻率的圖表。我創造了2個新的變量,一個是男性身高,另一個是女性身高。我認爲我真正需要的是GGRAPH和GPL將它們放在同一張圖表中。 – user3408339 2014-10-12 18:34:54

+0

好的,我想出了基本知識: – user3408339 2014-10-12 21:00:11