如果我想向一个ggridge对象添加一个点估计,但是我总是得到一个错误:
library(ggplot2)
library(ggridges)
iris_med <- iris %>% group_by(Species) %>% summarise(Sepal.Length = median(Sepal.Length))
ggplot(iris, aes(x = Sepal.Length, y = Species, fill = 0.5 - abs(0.5-..ecdf..))) +
stat_density_ridges(geom = "density_ridges_gradient", calc_ecdf = TRUE) +
geom_point(aes(x = Sepal.Length, y = Species, color = "red"), data = iris_med)
Picking joint bandwidth of 0.181
Error in eval(expr, envir, enclos) : object 'ecdf' not found我希望达到的产出:

发布于 2018-05-15 08:58:24
这个问题可以通过在inherit.aes = F调用中指定geom_point来解决:
ggplot(iris, aes(x = Sepal.Length, y = Species, fill = 0.5 - abs(0.5-..ecdf..))) +
stat_density_ridges(geom = "density_ridges_gradient", calc_ecdf = TRUE) +
geom_point(aes(x = Sepal.Length, y = Species, color = "red"), data = iris_med, inherit.aes = F)只产生他以下的信息:
Picking joint bandwidth of 0.181

编辑:另一种方法(感谢@Axeman的评论)是将fill美学移到stat_density_ridges层。
https://stackoverflow.com/questions/50345984
复制相似问题