时间序列数据箱线图绘制:如何在R中基于huron数据集生成箱线图
R语言绘制休伦湖水位时间序列箱线图方案
首先明确箱线图的x、y轴赋值逻辑,根据分析需求分为两种常见场景:
场景1:展示1860-1986年所有水位的整体分布
- y轴参数:直接传入
huron的水位数值,对应休伦湖7月平均水位 - x轴参数:仅一个分组(全观测周期),无需额外赋值,默认自动生成
基础R绘制代码
# 首先运行你提供的huron数据集定义代码,完成数据加载 # 直接绘制箱线图 boxplot(huron, ylab = "7月平均水位(英尺)", xlab = "观测周期:1860-1986年", main = "休伦湖7月平均水位分布" )
ggplot2绘制代码
library(ggplot2) # 将ts类数据转换为数据框 huron_df <- data.frame( year = as.numeric(time(huron)), water_level = as.numeric(huron) ) ggplot(huron_df, aes(x = "全观测周期", y = water_level)) + geom_boxplot(fill = "#87CEEB", alpha = 0.7) + labs(x = "分组", y = "7月平均水位(英尺)", title = "休伦湖7月平均水位整体分布")
场景2:按时间分段展示水位分布变化(更符合时间序列分析需求)
通常会按10年/20年为间隔拆分数据,对比不同时间段的水位分布:
- y轴参数:仍为
huron的水位数值 - x轴参数:时间分段生成的分组变量
示例代码(按10年分组)
library(ggplot2) # 生成年代分组变量 huron_df$decade <- cut( huron_df$year, breaks = seq(1860, 1990, 10), labels = paste0(seq(1860, 1980, 10), "年代") ) # 绘制分时段箱线图 ggplot(huron_df, aes(x = decade, y = water_level)) + geom_boxplot(fill = "#87CEEB", alpha = 0.7) + labs(x = "年代", y = "7月平均水位(英尺)", title = "休伦湖7月平均水位分年代分布")
内容的提问来源于stack exchange,提问作者Tony
相关产品推荐
相关产品推荐

