1. ホーム
  2. r

[解決済み] ggplot は異なる data.frame から 2 つのプロットを結合します。

2023-04-20 07:35:12

質問

2つのdata.frameから得た2つのggplotを1つのプロットに結合したいです。以下にコードを示します。plot 1&2またはplots 3&4を結合したいです。

df1 <- data.frame(p=c(10,8,7,3,2,6,7,8),
             v=c(100,300,150,400,450,250,150,400))
df2 <- data.frame(p=c(10,8,6,4), v=c(150,250,350,400))

plot1 <- qplot(df1$v, df1$p)
plot2 <- qplot(df2$v, df2$p, geom="step")

plot3 <- ggplot(df1, aes(v, p)) + geom_point()
plot4 <- ggplot(df2, aes(v, p)) + geom_step()

これはとても簡単なことなのでしょうが、なぜかうまくいきません。お忙しいところありがとうございました。

どのように解決するのですか?

Baptisteが言ったように、geomレベルでdata引数を指定する必要があります。 どちらかというと

#df1 is the default dataset for all geoms
(plot1 <- ggplot(df1, aes(v, p)) + 
    geom_point() +
    geom_step(data = df2)
)

または

#No default; data explicitly specified for each geom
(plot2 <- ggplot(NULL, aes(v, p)) + 
      geom_point(data = df1) +
      geom_step(data = df2)
)