web-dev-qa-db-ja.com

ggplotに別のレイヤー/新しいシリーズを追加するにはどうすればよいですか?

Ggplotでは、プロットにシリーズを追加できます。

ggplot(diamonds, aes(x = carat, y = price)) + geom_point()

別のシリーズ、たとえばダイヤモンドに対するルビーのコストをプロットします。ルビーもダイヤモンドデータセットに含まれていると仮定しました。ルビーのデータを別のレイヤーの上に重ねようとしましたが、ダイヤモンド/カラットではなくルビーだけをプロットします。

ggplot(diamonds, aes(x = carat, y = price)) + geom_point() + aes(x = rubies, y = price)

最初にすべてのデータをまとめてプロットする準備をすることでこれが可能であることがわかります。ただし、このようなプロットに別のシリーズを追加するだけでも、それほど難しくないように思えますが、その方法はわかりません。

30
John
rubies  <- data.frame(carat = c(3, 4, 5), price= c(5000, 5000, 5000))

ggplot(diamonds, aes(carat, price)) + 
  geom_point() + 
  geom_point(data = rubies, colour = "red")
54
hadley