r - 在散点图上绘制最大值和最小值(基于列值)
问题描述
我有一个看起来像这样的数据框:
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,我只需要它来按月显示最大值和最小值,并且在中间也表示平均值(不是必需的)
但是,主要问题是我不能使最小值和最大值特定于每个月,而是显示整个数据框的实际最大值和最小值。
与我需要的类似结果是......
df %>%
ggplot(aes(x = Month, y = value)) +
geom_boxplot(alpha = 0.4) +
theme_minimal() +
expand_limits(y = 0) +
labs(y = "")
非常感谢您的帮助。谢谢!
解决方案
我看到你更新了你的问题,我相应地修改了我的答案。您可以先计算最小值、最大值和平均值,然后使用计算得出的数据来创建绘图。这是你想要的吗?
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))
推荐阅读
- asp.net - ASP.NET MVC 未处理 OpenIdConnect signin-oidc 路由
- java - 如何使用修复 HBox 内 TOP_LEFT 上的菜单按钮
- docker - 如何使用融合的 docker 图像设置 kafka 集群
- python - 使用 pandas 根据特定列中的条件替换日期值
- java - 如何在 Spring 运行时从文本文件中重新加载数据
- react-native - 使用 ReactNative 和 StyledComponents 布局子组件
- java - AWS:Lambda 函数应该用哪种语言编写,以便 lambda 可以访问/调用 .so 文件(linux 中的动态库)
- gmail - 如何将别名电子邮件添加到我的新帐户?
- android - 在片段事务中获取异常作为已调用的提交
- postgresql - SQLSTATE 和 GET STACKED DIAGNOSTICS 信息在另一个函数中?