作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在从多个 data.frames 中绘制;
ggplot() +
geom_line(data=posterior.m, aes(x=time,y=NO.y)) +
geom_line(data=posterior.05, aes(x=time,y=NO.y), linetype = "dotted") +
geom_line(data=posterior.95, aes(x=time,y=NO.y), linetype = "dotted")
基本上,posterior.m 包含 90% 置信区间的中位数。 low 05 在数据框 posterior.05 中,high 95 在 posterior.95 中。简而言之,这是一个有 3 行的情节。
问题是,我如何使用 geom_ribbon()
或类似的东西来填充中值和下值以及中值和上值。或者只是简单地填充下部和上部之间。我无法让它工作,因为它们不是同一数据框的一部分。
谢谢
最佳答案
使用 mtcars
作为示例数据集,可以这样实现:
在您的情况下,您必须在 time
之前加入并且可能重命名您的变量。
library(dplyr)
library(ggplot2)
mtcars1 <- mtcars %>%
group_by(cyl) %>%
summarise(y_med = median(mpg))
#> `summarise()` ungrouping output (override with `.groups` argument)
mtcars2 <- mtcars %>%
group_by(cyl) %>%
summarise(y_05 = quantile(mpg, probs = .05))
#> `summarise()` ungrouping output (override with `.groups` argument)
mtcars3 <- mtcars %>%
group_by(cyl) %>%
summarise(y_95 = quantile(mpg, probs = .95))
#> `summarise()` ungrouping output (override with `.groups` argument)
mtcars_join <- left_join(mtcars1, mtcars2, by = "cyl") %>%
left_join(mtcars3, by = "cyl")
ggplot(mtcars_join, aes(cyl)) +
geom_ribbon(aes(ymin = y_med, ymax = y_95), fill = "red") +
geom_ribbon(aes(ymin = y_05, ymax = y_med), fill = "blue") +
geom_line(aes(y = y_med)) +
geom_line(aes(y = y_05), linetype = "dotted") +
geom_line(aes(y = y_95), linetype = "dotted")
由 reprex package 创建于 2020-06-14 (v0.3.0)
关于r - 如何使用来自不同数据集的变量制作带状图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62372561/
我是一名优秀的程序员,十分优秀!