R:将两个等高线图组合在一起

R: Combining Two Contour Plots Together

我正在使用 R 编程语言。我制作了以下两个图:

library(ggplot2)
library(cowplot)

data_1 = data.frame(a = rnorm(100,10,10), b = rnorm(100,10,10), c = as.factor("one"))


data_2 = data.frame(a = rnorm(100,10,10), b = rnorm(100,10,10), c = as.factor("two"))


p1 = ggplot(data_1, aes(x = a, y = 
          b)) +
        geom_density_2d_filled() + 
        ggtitle("Plot 1")

p2 = ggplot(data_2, aes(x = a, y = 
          b)) +
        geom_density_2d_filled() + 
        ggtitle("Plot 2")

plot_grid(p1, p2)

我的问题:有没有办法将这两个图组合成一个图,这样它看起来就不会“太乱”?

我尝试了以下代码:

ggplot(final, aes(x = a, y = 
                      b, colour = c)) +
    geom_density_2d_filled() + 
    ggtitle("Combined")

但这很难读。

有谁知道如何做到这一点?

谢谢!

你的意思是……像这样?在这里,等高线图用于重叠多个 2d 核密度:

library(ggplot2)
library(dplyr)
#> 
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#> 
#>     filter, lag
#> The following objects are masked from 'package:base':
#> 
#>     intersect, setdiff, setequal, union

set.seed(1337)
data_1 = data.frame(a = rnorm(100,10,10), b = rnorm(100,10,10), c = as.factor("one"))
data_2 = data.frame(a = rnorm(100,10,10), b = rnorm(100,10,10), c = as.factor("two"))

bind_rows(
  data_1,
  data_2
) %>%
  ggplot(aes(a, b, color = c)) +
    geom_density2d()

reprex package (v2.0.1)

于 2021-12-07 创建