我有一个看起来像这样的数据框:
Month value
1 2018-07 0.5241422
2 2018-08 0.6197477
3 2018-08 3.3603833
4 2018-10 0.5357588
5 2018-09 0.8397401
我想将其绘制到类似于以下这些图的位置;而误差线范围实际上可以显示“值” 每个月的最小值:
我不需要均值+ / Ci,我只需要它显示按月显示的最大值和最小值,中间也要显示均值(不必要)
我试图从Scatter plot with error bars重复一些解决方案
但是,主要的问题是我无法指定每个月的最小值和最大值,而是显示整个数据帧的实际最大值和最小值。
与我需要的结果类似...
df %>%
ggplot(aes(x = Month, y = value)) +
geom_boxplot(alpha = 0.4) +
theme_minimal() +
expand_limits(y = 0) +
labs(y = "")
非常感谢您的帮助。谢谢!
答案 0 :(得分:2)
我看到您更新了您的问题,并相应地修改了我的答案。您可以先计算最小值,最大值和平均值,然后使用计算出的数据来创建图。这就是你想要的吗?
library(tidyverse)
library(lubridate)
data <- tibble(
date = rep(seq(ymd("2019-01-01"),ymd("2019-12-01"),by = "1 month"),10),
value = 1 +runif(120)
) %>%
arrange(date)
data_range <- data %>%
group_by(date) %>%
summarise(max = max(value),
min = min(value),
mean = mean(value))
data_range %>%
ggplot(aes(x = date,y = mean)) +
geom_line() +
geom_point() +
geom_errorbar(aes(ymin = min, ymax = max))