R语言基于指定DataFrame绘制X轴为Area的年份箱线图求助
问题解决思路
你当前的数据集为宽格式,所有年份各占单独一列,无法直接指定y轴参数,需要先转换为ggplot绘图所需的长格式数据,再生成箱线图。
实现步骤
- 加载依赖包并转换数据格式
# 加载tidyverse套件,包含ggplot2、数据转换所需工具 library(tidyverse) # 宽表转长表,把所有年份列合并为两列:年份标识列、数值列 # 如果你原始数据集名称为country_wise_production1,把下方的df替换为该名称即可 df_long <- df %>% pivot_longer( cols = starts_with("Y"), names_to = "年份", values_to = "指标数值" # 可根据你实际的字段含义修改名称,比如产量、出口量等 )
- 绘制箱线图
ggplot(df_long, aes(x = Area, y = 指标数值)) + geom_boxplot() + # 无需设置stat="identity",箱线图会自动计算每个地区对应所有年份数值的分布 theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1)) + labs(x = "地区", y = "指标数值") # 可自定义坐标轴标题
说明
转换为长格式后,每个地区会对应多条不同年份的指标数据,y轴填入合并后的数值列名即可。geom_boxplot会自动对每个地区的所有年份数值计算四分位数、极值、异常值,生成对应分布的箱线图,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者SUMAN NUTAKKI
相关产品推荐
相关产品推荐

