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

在R中绘制列均值变化曲线并设置时间轴刻度间距

列名含年份的均值折线图绘制方案

数据预处理:提取年份并计算均值

先从列名中提取年份信息,计算每列均值,将数据转换为适合绘图的结构:

# 提取列名中的年份(去除前缀"tons_")
years <- as.integer(sub("tons_", "", colnames(dataset)))

# 计算每列的均值
mean_tons <- colMeans(dataset)

# 组合成绘图用的数据框
plot_df <- data.frame(
  Year = years,
  Mean_Tons = mean_tons
)

绘制符合实际时间间隔的折线图

使用ggplot2可以自动实现按年份实际间隔排列的x轴,因为年份被转换为连续数值变量,轴间距会对应年份差:

# 若未安装ggplot2先执行:install.packages("ggplot2")
library(ggplot2)

ggplot(plot_df, aes(x = Year, y = Mean_Tons)) +
  geom_line(color = "#2c3e50", linewidth = 1) +  # 设置折线样式
  geom_point(size = 3, color = "#e74c3c") +     # 添加数据标记点
  scale_x_continuous(breaks = plot_df$Year) +   # 显示所有存在数据的年份刻度
  labs(
    title = "2017-2050年吨数均值变化",
    x = "年份",
    y = "平均吨数"
  ) +
  theme_minimal()  # 使用简洁主题

补充:基础绘图实现方式

如果偏好基础绘图系统,也可以这样完成:

plot(plot_df$Year, plot_df$Mean_Tons, type = "b", 
     xlab = "年份", ylab = "平均吨数", 
     main = "吨数均值变化折线图", xaxt = "n")
axis(1, at = plot_df$Year, labels = plot_df$Year)

核心逻辑说明

将年份转换为整数型连续变量后,x轴会自动根据年份的实际间隔分配刻度距离,比如2020到2022间隔2年,轴上的间距会比2017-2018的1年间隔更大,完全匹配需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 20:01:02