我有2个normal probability plots
如下
library(ggplot2)
# Plot 1
ggplot(data.frame(x = c(-4, 4)), aes(x)) +
stat_function(fun = dnorm, args = list(mean = 0, sd = 1), col='red') +
stat_function(fill='red', fun = dnorm, xlim = c(-4, -1), geom = "area") +
stat_function(fill='red', fun = dnorm, xlim = c(-1, 4), geom = "area", alpha = 0.3)
# Plot 2
ggplot(data.frame(x = c(-4, 4)), aes(x)) +
stat_function(fun = dnorm, args = list(mean = 0, sd = 2), col='blue') +
stat_function(fill='blue', fun = dnorm, args = list(mean = 0, sd = 2), xlim = c(-4, -1), geom = "area") +
stat_function(fill='blue', fun = dnorm, args = list(mean = 0, sd = 2), xlim = c(-1, 4), geom = "area", alpha = 0.3)
单独来说,它们很好。但是,我想把这两个图结合起来,用相同的x-axis
把它们放在同一个图窗口中。
我还想在组合图中添加基于fill
颜色的legend
,以区分它们。
有什么方法可以用ggplot
实现这一点吗?
任何指针都会很有帮助
1条答案
按热度按时间db2dz4w81#
您可以将这两个
stat_function
组合起来,并为fill
创建两个aes
,从而使用scale_fill_manual
创建一个图例,如下所示:创建于2022年12月31日,使用reprex v2.0.2