R语言中绘制年度事故数据折线图异常,如何修复?
问题分析与解决办法
核心问题有两个:
- 年份列
year为字符类型:从数据结构可见year是<chr>(字符型),ggplot对字符型x轴会按字典序排列,而非时间先后顺序,导致折线的时间逻辑完全混乱。 - 数据未按年份排序:当前数据的年份是乱序状态(比如2018之后是2017,接着2016),即便x轴类型正确,折线也会在乱序的点之间随机连接,无法体现事故数随时间的变化趋势。
解决步骤:
- 先清洗数据:将
year转换为数值类型,并按年份升序排序
# 若未安装dplyr包,先运行 install.packages("dplyr") library(dplyr) accident_day_clean <- accident_day %>% mutate(year = as.integer(year)) %>% # 把字符型年份转为整数型 arrange(year) # 按年份升序排序数据
- 重新绘制折线图
ggplot(data=accident_day_clean)+ geom_line(mapping=aes(x=year, y=accidents), color="black")
处理后,x轴会自动按时间顺序排列,折线也会从最早年份到最晚年份依次连接,正确展示年度事故数的变化趋势。
内容的提问来源于stack exchange,提问作者diorzyon
相关产品推荐
相关产品推荐

