12

でファセット散布図を作成しましたggplotが、回帰直線の方程式を各ファセットに追加するのに苦労しています。ファセットがない単純なケースはここで回答されていますが、この方法はファセット プロットには適用されません。

これをクリーンな方法で達成する方法はありますか?

4

3 に答える 3

5

これはあなたが望むことをしますか?

library(ggplot2); library(gridExtra)
ggplot(iris, aes(Sepal.Length, Sepal.Width)) +
  geom_point() +
  geom_smooth(method="lm") +
  facet_wrap(~ Species)

grid.newpage()
vpa_ <- viewport(width = 1, height = 1)
print(p, vp = vpa_)
grid.text("y ~ mx + b", x=0.3, y=0.8)
grid.text("y ~ mx + b", x=0.5, y=0.8)
grid.text("y ~ mx + b", x=0.8, y=0.8)

ここに画像の説明を入力

于 2013-10-31T06:45:30.070 に答える
4

を使用gridExtraすると、このようにプロットを配置できます。

ここに画像の説明を入力

library(ggplot2)

library(ggplot2)
iris$x = iris$Sepal.Length 
iris$y = iris$Sepal.Width
xx <- range(iris$x)
yy <- range(iris$y)

ll <- by(iris,iris$Species,function(df){
  x.eq <- max(xx)-mean(xx)/2
  y.eq <- max(yy)*0.95
  p <- ggplot(df, aes(x, y)) +
    geom_point() +
    geom_smooth(method="lm") +
    annotate(x=x.eq, y =y.eq ,  geom='text',
              label = lm_eqn(df), size=5,parse=TRUE) +
    xlim(xx[1],xx[2])+ylim(yy[1],yy[2])
})

library(gridExtra)
do.call(grid.arrange,ll)
于 2013-10-31T08:36:54.410 に答える