【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. さいごに
複数のデータを一つにまとめて表示したいときに、スケールが異なっていると困る場合がありましたが、これで簡単に解決。