2016-04-20 6 views
2

を持っている:ggplotを使って同じプロットで平滑化スプラインを2つプロットするにはどうすればよいですか?例えば、私はこのようなプロットのカップルを

ggplot(mpg, aes(displ, hwy)) + 
geom_point() + 
geom_smooth(method = "lm", formula = y ~ splines::bs(x, 3), se = T) 

は、それが同じプロットにこれらの種類の2をプロットすることは可能ですか?

+0

見た目に表示されるようにaes内である必要がありますファセットを作ろうとすると、それは単一の凡例を使ってよりスケーリングされたプロットを与えます – TheRimalaya

+0

私は同じ座標系でプロットされた関数を持っていたい、 1ページに2つのプロットはありません。 – Lanza

+2

別の要素を追加したい場合は、次のレイヤーを追加してください: '+ geom_smooth()' 例: 'ggplot(mpg、aes(displ、hwy))+ geom_point()+ geom_smooth(method =" lm "式= y〜splines :: bs(x、3)、se = T)+ geom_smooth(メソッド= "lm"、式= y〜スプライン:: bs(x、4)、se = T) ' – bVa

答えて

2

あなただけの別のfonctionを追加したい場合は、別のレイヤーを追加:あなたは別のデータフレームからのデータを追加したい場合は+ geom_smooth()

Plot 1

ggplot(mpg, aes(displ, hwy)) + geom_point() + 
geom_smooth(method = "lm", formula = y ~ splines::bs(x, 3), se = T) + 
geom_smooth(method = "lm", formula = y ~ splines::bs(x, 4), se = T) 

を、geom_smoothdf情報を追加:

plot 2

ggplot(mpg, aes(displ, hwy)) + geom_point() + 
geom_smooth(method = "lm", formula = y ~ splines::bs(x, 3), se = T) + 
geom_smooth(data = mpg, aes(x = displ, y = cyl), method = "lm", formula = y ~ splines::bs(x, 4), se = T) 

最後に、色や伝説をカスタマイズ: color引数は `gridExtra :: grid.arrange`の凡例

enter image description here

ggplot(mpg, aes(displ, hwy)) + geom_point() + 
geom_smooth(aes(color = "B"),method = "lm", formula = y ~ splines::bs(x, 3), se = T) + 
geom_smooth(data = mpg, aes(x = displ, y = cyl, color = "A"), method = "lm", formula = y ~ splines::bs(x, 4), se = T) + 
scale_color_manual("Legend Title", values = c("A" = "red", "B" = "blue")) 
関連する問題