ggplot2 で 2 つの等高線データセットをオーバーレイするためのいくつかのオプションを次に示します。1 つの重要な注意点 (@Drew Steen によって指摘されているように) はcolour
、同じプロットに 2 つの別個のスケールを含めることはできないということです。
# Add category column to data.frames, then combine.
v1$category = "A"
v2$category = "B"
v3 = rbind(v1, v2)
p1 = ggplot(v3, aes(x=Var1, y=Var2, z=value, colour=category)) +
stat_contour(binwidth=10) +
theme(panel.background=element_rect(fill="grey90")) +
theme(panel.grid=element_blank()) +
labs(title="Plot 1")
p2 = ggplot(v3, aes(x=Var1, y=Var2, z=value, colour=category)) +
stat_contour(aes(alpha=..level..), binwidth=10) +
theme(panel.background=element_rect(fill="white")) +
theme(panel.grid=element_blank()) +
labs(title="Plot 2")
p3 = ggplot(v3, aes(x=Var1, y=Var2, z=value, group=category)) +
stat_contour(aes(color=..level..), binwidth=10) +
scale_colour_gradient(low="white", high="#A1CD3A") +
theme(panel.background=element_rect(fill="grey50")) +
theme(panel.grid=element_blank()) +
labs(title="Plot 3")
p4 = ggplot(v3, aes(x=Var1, y=Var2, z=value, linetype=category)) +
stat_contour(aes(color=..level..), binwidth=10) +
scale_colour_gradient(low="white", high="#A1CD3A") +
theme(panel.background=element_rect(fill="grey50")) +
theme(panel.grid=element_blank()) +
labs(title="Plot 4")
library(gridExtra)
ggsave(filename="plots.png", height=8, width=10,
plot=arrangeGrob(p1, p2, p3, p4, nrow=2, ncol=2))
- プロット 1: 2 つのレイヤーを異なる単色でプロットします。
aes(colour=category)
- プロット 2:
..level..
アルファ透明度を使用して表示します。2 つの異なる色のグラデーションを持つミミック。
- プロット 3: 両方の層を同じ勾配でプロットします。レイヤーを区別する
aes(group=category)
- プロット 4: 単色のグラデーションを使用しますが、線種でレイヤーを区別します。