【发布时间】:2019-06-18 00:33:05
【问题描述】:
我想将垂直线段添加到直方图显示自定义分位数的山脊线图中。
如果我使用..x.. 映射填充颜色,我设法获得了垂直线段。但我想在密度图中显示分位数。我写了以下代码:
library(datasets)
library(ggplot2)
data("iris")
iris_lines <- data.frame(Species = c("setosa", "versicolor", "virginica"),
x0 = c(5, 5.9, 6.5))
Figure1 <- ggplot(iris, aes(x=Sepal.Length, y=Species, fill=(..quantile..))) +
geom_density_ridges_gradient(jittered_points = FALSE, calc_ecdf = TRUE, quantile_lines = c(TRUE), quantiles =c(0.1,0.25,0.75,0.9),scale=0.9, color='white')+
geom_segment(data = iris_lines, aes(x = x0, xend = x0, y = as.numeric(Species), yend = as.numeric(Species) + c(.9,.5,.5)), color = "red") + scale_y_discrete(expand = c(0.01, 0))
Figure1
如果我将填充颜色映射为fill = ..x..,则代码有效,我得到三条垂直线代表每个密度图的平均值;但是,如果我将填充颜色映射为fill = ..quantile..,则会出现以下错误:
Error in data.frame(..., check.names = FALSE) :
arguments imply differing number of rows: 1, 3
【问题讨论】:
-
欢迎来到 SO。从您的评论到下面的答案,我认为答案很有帮助。请花点时间通过投票和/或将其标记为“正确”答案来将答案标记为有用。
标签: r ggplot2 ridgeline-plot