r - 在山脊线图中的所有面板上添加阴影区域
问题描述
我有一个数据框df
:
set.seed(3467)
df<- data.frame(method= c(rep("A", 1000), rep("B", 1000), rep("C", 1000)),
beta=c(rnorm(1000, mean=0, sd=1),rnorm(1000, mean=2, sd=1.4),rnorm(1000, mean=0, sd=0.5)))
我希望像这样创建一个山脊图:
ggplot(df, aes(x = beta, y = method, color = method, fill = method)) +
geom_density_ridges(size=1)+
scale_fill_manual(values = c("#228b2250", "#0072B250", "#483d8b50")) +
scale_color_manual(values = c("#228b22", "#0072B2", "#483d8b"), guide = "none") +
stat_density_ridges(quantile_lines = TRUE, quantiles = c(0.025, 0.5, 0.975), alpha = 0.6, size=1)
我希望像这样添加一个阴影矩形:
ggplot(df) +
geom_rect(data = data.frame(x = 1),
xmin = -1, xmax = 1, ymin = -Inf, ymax = Inf,
alpha = 0.5, fill = "gray") +
geom_density_ridges2(aes(x = beta, fill = method, y = method))
但是,这种尝试是不成功的:
ggplot(df, aes(x = beta, y = method, color = method, fill = method)) +
geom_density_ridges(size=1)+
scale_fill_manual(values = c("#228b2250", "#0072B250", "#483d8b50")) +
scale_color_manual(values = c("#228b22", "#0072B2", "#483d8b"), guide = "none") +
stat_density_ridges(quantile_lines = TRUE, quantiles = c(0.025, 0.5, 0.975), alpha = 0.6, size=1)+
geom_rect(data = data.frame(x = 1),
xmin = -1, xmax = 1, ymin = -Inf, ymax = Inf,
alpha = 0.5, fill = "grey")
该geom_rect()
功能似乎不适用于geom_density_ridges()
仅geom_density_ridges2()
.
解决方案
这是你想要的?这是对您的代码的轻微修改。我认为aes
如果某些元素无法识别,我们可以具体指定数据框和每一层。
library(ggplot2)
library(ggridges)
ggplot() +
geom_rect(data = data.frame(x = 1),
xmin = -1, xmax = 1, ymin = -Inf, ymax = Inf,
alpha = 0.5, fill = "gray") +
geom_density_ridges(data = df, aes(x = beta, y = method, color = method, fill = method),
size=1)+
scale_fill_manual(values = c("#228b2250", "#0072B250", "#483d8b50")) +
scale_color_manual(values = c("#228b22", "#0072B2", "#483d8b"), guide = "none") +
stat_density_ridges(data = df, aes(x = beta, y = method, color = method, fill = method),
quantile_lines = TRUE, quantiles = c(0.025, 0.5, 0.975), alpha = 0.6, size=1)
推荐阅读
- kotlin - 带有 Kotlin DSL 的 Gradle 期望属性
错误 - mongodb - 获取嵌套关系数据 $lookup
- css - MBD导航栏元素下拉菜单中的悬停效果(材料设计引导程序)
- f# - 与内联函数一起使用时对象表达式的开销
- python - Python:在两个文件中查找字符串并打印所有行
- javascript - 如何预览像这个 logo.png 这样的文件名?
- azure - Azure Policy 类似架构的评估
- spring-boot - 由 CORS 阻止的 Spring Boot 自定义响应标头
- windows - 跨 Windows 版本的 HANDLE_TYPE_PROCESS
- java - 未调用 onCreateOptionsMenu