【R】ggnewscale
2021年1月11日
1. はじめに
ggnewscale
は、ggplotで複数のスケールを手軽に扱えるようにするためのパッケージです。
2. インストール
CRANからインストールできます。
install.packages("ggnewscale")
3. 使ってみる
こんな感じで、複数のスケールを扱えます。
library(ggplot2) library(ggnewscale) topography <- expand.grid(x = 1:nrow(volcano), y = 1:ncol(volcano)) topography$z <- c(volcano) set.seed(42) measurements <- data.frame(x = runif(30, 1, 80), y = runif(30, 1, 60), tree = rnorm(30)) rocks <- data.frame(x = rnorm(10, 45, 20), y = rnorm(10, 35, 20), rock = rnorm(10, 4, 2)) ggplot(mapping = aes(x, y)) + geom_contour(data = topography, aes(z = z, color = stat(level))) + scale_color_viridis_c(option = "D") + new_scale_color() + geom_point(data = measurements, size = 3, aes(color = tree)) + scale_color_viridis_c(option = "A") + new_scale_color() + geom_point(data = rocks, size = 2, aes(color = rock), shape = 17) + scale_fill_gradient(low = "black" , high = "white")
4. さいごに
複数のデータを一つにまとめて表示したいときに、スケールが異なっていると困る場合がありましたが、これで簡単に解決。