2011-12-21 10 views
21

と線でポイントを組み合わせるは、私はこのように見える時系列をプロットしたいggplot2

qplot(Jahr, Wert, data=tu, group = Geschlecht, color = Altersgr) + facet_grid(Geschlecht ~ Land) 

私のデータは次のようになります。

Land Altersgr Geschlecht Jahr Wert 
1 DE < 20 J.   m 2000 13.0 
2 DE 20-<65 J.   m 2000 25.7 
3 DE  65+ J.   m 2000 70.1 
4 DE 65-<80 J.   m 2000 44.2 
5 DE  80+ J.   m 2000 213.5 
6 BB < 20 J.   m 2000 26.8 

これまでのところすべて問題ありません。しかし、私は対応する点(同じ色)を線で結ばなければなりません。私はそれをする方法を理解できませんでした。私は()私は、この結果得geom_lineを使用する場合:私はちょうど感じを持っている...私が欲しいものではありません

enter image description here

を私は何か...

任意の提案を見落としますか?よろしくお願いします。アイリスデータセットを使用して

+4

たぶん、あなたは 'グループ= Altersgr'を望んでいましたの? – joran

+0

2番目のFigureを生成するために使用したコードは何ですか? –

+0

@joran:そうです!設定グループ= Altersgrとadd geom_line()は正常に動作します。 – Dominik

答えて

23

あなたは `グループのAESを使用すると、あなたが望む結果を得るのを助けることがあります。たとえば、次のように

ここで見つけるプロット生成
tu <- expand.grid(Land  = gl(2, 1, labels = c("DE", "BB")), 
        Altersgr = gl(5, 1, labels = letters[1:5]), 
        Geschlecht = gl(2, 1, labels = c('m', 'w')), 
        Jahr  = 2000:2009) 

set.seed(42) 
tu$Wert <- unclass(tu$Altersgr) * 200 + rnorm(200, 0, 10) 

ggplot(tu, aes(x = Jahr, y = Wert, color = Altersgr, group = Altersgr)) + 
    geom_point() + geom_line() + 
    facet_grid(Geschlecht ~ Land) 

enter image description here

+0

グループ設定が間違っていました。しかし、あなたの例のおかげで! – Dominik

11

次の例では、正常に動作します:

dat = melt(subset(iris, select = c("Sepal.Length","Sepal.Width", "Species")), 
     id.vars = "Species") 
ggplot(aes(x = 1:nrow(iris), y = value, color = variable), data = dat) + 
     geom_point() + geom_line() 

enter image description here

関連する問題