2011-12-08 15 views
3

ggplot2でグラフをカスタマイズする際に助けが必要です。以下は、私が使用していたコードと結果のグラフである:ggplotで凡例をカスタマイズする

> p=ggplot(a2,aes(x=grid,y=median))+geom_line(size=1.3)+ 
    geom_line(aes(x=grid,y=lower,linetype=2,colour='red'),size=1.3)+ 
    geom_line(aes(x=grid,y=upper,linetype=2,colour='red'),size=1.3)+ 
    geom_line(aes(x=trueX,y=trueY,linetype=1,colour='blue'),size=.8)+ 
    geom_line(aes(x=grid,y=xDens,linetype=1),size=.5)+ 
    geom_point(data=a1,aes(x=X,y=Y),size=1) 

enter image description here

まず、赤と青の色は、彼らがどうあるべきかからオフに思えます。第二に、私は4つのエントリで凡例をカスタマイズしたいと思います:

  1. フィット(黒線)
  2. コンファレンスのInt(赤点線)
  3. 真の曲線(青線)
  4. X密度(小黒線)

私はしばらくそれを再生しているが、それを理解することはできません。提案を感謝します。私は私が欲しいものを得るために、私のデータを再配置する必要があるかもしれません

が、ここで私は今(ポイントとデータセットA1を無視して)しているもののプレビューは、次のとおりです。

> head(a2[,c(1,2,4,5,6,7,8)]) 
    lower upper median  grid trueX  trueY xDens 
1 26.65933 28.83431 27.54782 -4.845770 -3.998449 27.73697 0.02803692 
2 26.65933 28.77224 27.54284 -4.826273 -3.967264 27.71877 0.02902979 
3 26.65933 28.77224 27.54284 -4.806776 -3.910030 27.68470 0.02953585 
4 26.65933 28.77224 27.54284 -4.787279 -3.898646 27.67782 0.03056721 
5 26.65933 28.77224 27.54284 -4.767782 -3.891712 27.67361 0.03162419 
6 26.65933 28.77224 27.54284 -4.748285 -3.890767 27.67304 0.03270666 

答えて

4

おそらくこれは、近くに何からですあなたが欲しい:

サンプルデータ:

> d 
    lower upper median  grid  trueX trueY  xDens 
1 26.65933 28.83431 27.54782 -4.845770 -3.998449 27.73697 0.02803692 
2 26.65933 28.77224 27.54284 -4.826273 -3.967264 27.71877 0.02902979 
3 26.65933 28.77224 27.54284 -4.806776 -3.910030 27.68470 0.02953585 
4 26.65933 28.77224 27.54284 -4.787279 -3.898646 27.67782 0.03056721 
5 26.65933 28.77224 27.54284 -4.767782 -3.891712 27.67361 0.03162419 
6 26.65933 28.77224 27.54284 -4.748285 -3.890767 27.67304 0.03270666 

コード:

d2 <- melt(subset(d, select = -c(trueX)), id = "grid") 
ggplot(d2, aes(grid, value, colour = variable, linetype = variable, size = variable)) + 
    geom_line() + 
    scale_colour_manual("", values = c("red", "red", "black", "blue", "black"), breaks = levels(d2$variable)) + 
    scale_linetype_manual("", values = c(2, 2, 1, 1, 1), breaks = levels(d2$variable)) + 
    scale_size_manual("", values = c(0.5, 0.5, 0.5, 0.5, 0.25), breaks = levels(d2$variable)) 

出力:

enter image description here

+0

おかげで、これはとてもうまくいきました。しかし、新しいデータセットからポイント(最後の行)を追加しようとすると1つの問題が発生します。これでエラーメッセージが表示されます。 plt + geom_point(data = a1、aes(x = X、y = Y)): エラーがeval(expr、envir、enclos)にあります。 ):オブジェクト '変数'が見つかりませんでした – Glen

+0

私は最初にポイントをプロットしました。 – Glen

関連する問題