如何随时间绘制实例数量?R语言月度产量可视化报错及坐标轴问题求助
月度产量可视化问题解决方案
1. 先整理规范的数据结构
首先把你的月份和产量数据整理成data.frame,同时把月份从数值(201501这类)转为日期型或因子型,避免后续绘图问题:
# 构造月份数据(转为日期型,格式统一) months <- as.Date(paste0("2015", sprintf("%02d", 1:12), "01"), format = "%Y%m%d") # 产量向量 vehicles <- c(529, 450, 700, 673, 723, 743, 450, 710, 632, 460, 580, 652) # 组合为data.frame prod_data <- data.frame(month = months, production = vehicles)
2. 解决hist()函数报错问题
你遇到的argument 3 matches multiple formal arguments错误,通常是因为调用hist()时参数传递错误——比如你可能同时传入了月份和产量两个数值型向量,而hist()的设计是只接收一个待分析的数值变量(用来展示分布)。
如果你想查看产量的分布情况,直接传入产量数据即可:
hist(prod_data$production, main = "2015年月度产量分布", xlab = "产量", col = "lightblue")
如果你其实想画每个月份的产量对比柱状图(注意:直方图和柱状图是不同的,直方图看数值分布,柱状图看分类数值),应该用barplot():
barplot(prod_data$production, names.arg = format(prod_data$month, "%Y-%m"), # 设置x轴标签为月份格式 main = "2015年月度产量", xlab = "月份", ylab = "产量", col = "lightgreen")
3. 解决plot()数据点垂直问题
你用plot(months, vehicles)时,R把201501、201502这类数值当成了连续的数值变量,x轴范围仅从201501到201512(跨度仅11),而y轴产量跨度近300,导致x轴被严重压缩,点看起来垂直。
解决方法是把月份转为日期型或因子型,让R把它当成离散的分类变量处理:
方法1:用日期型月份绘图(保留时间连续性)
plot(prod_data$month, prod_data$production, type = "b", # 同时显示点和线 main = "2015年月度产量趋势", xlab = "月份", ylab = "产量", pch = 16, # 设置点样式 col = "darkred")
方法2:用因子型月份绘图(仅展示分类对比)
# 把月份转为因子,格式为"2015-01" month_factors <- factor(format(prod_data$month, "%Y-%m")) plot(month_factors, prod_data$production, type = "b", main = "2015年月度产量趋势", xlab = "月份", ylab = "产量", pch = 16, col = "darkblue")
内容的提问来源于stack exchange,提问作者Danny Nahas
相关产品推荐
相关产品推荐

