You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用R语言ggplot绘制日期间储水量变化柱状图

解决ggplot绘制储水量变化柱状图的X轴设置问题

1. 数据预处理:计算差值与生成区间标签

基于你的储水量数据框,先转换日期格式,再计算连续日期间的储水量差值,同时生成用于X轴的日期区间标签(如"2022-07-20至2022-07-22")——这是匹配参考图样式的核心步骤。

假设你的数据框名为water_data,执行以下代码:

library(tidyverse)

# 转换日期格式、计算储水量变化值、生成日期区间标签
water_diff <- water_data %>%
  mutate(Date = ymd(Date)) %>%
  arrange(Date) %>%
  mutate(
    water_change = lead(`Water stock (Liters/m²)`) - `Water stock (Liters/m²)`,
    date_interval = paste(Date, lead(Date), sep = " 至 ")
  ) %>%
  drop_na(water_change, date_interval) # 移除无后续匹配日期的最后一行数据

2. 绘制目标样式的柱状图

直接用生成的date_interval作为X轴变量,即可实现参考图的区间标签效果:

ggplot(water_diff, aes(x = date_interval, y = water_change)) +
  geom_col(fill = "#2c7fb8") + # 可根据需求自定义填充颜色
  labs(
    x = "日期区间",
    y = "储水量变化(升/平方米)",
    title = "连续日期间储水量变化"
  ) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) # 旋转X轴标签避免重叠

关键提示

  • 若需要更简洁的区间格式(如"2022-07-20~2022-07-22"),仅需修改paste函数的分隔符参数即可。
  • 若储水量变化有正负值,可通过fill = ifelse(water_change > 0, "green", "red")实现正负值分色展示。

内容的提问来源于stack exchange,提问作者Oliver Claessens

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 04:13:14