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

如何用R绘制各国历年人均用电量变化曲线?附处理说明

没问题,我来帮你一步步搞定这个需求~

实现步骤详解

1. 先加载需要的工具包

首先得把数据整理和绘图要用的包装上并加载好:

# 如果没装过包先运行这行:install.packages(c("tidyr", "dplyr", "ggplot2"))
library(tidyr)
library(dplyr)
library(ggplot2)

2. 把宽格式数据转成 tidy 格式(关键步骤)

假设你的原始数据框名叫 electricity_data,结构应该是「国家列 + 各年份列」的宽表形式。我们用 tidyr::pivot_longer 把年份列转成单列,同时把年份转成数值型:

tidy_electricity <- electricity_data %>%
  # 把所有年份列(19xx/20xx开头)转成长格式
  pivot_longer(
    cols = starts_with("19") | starts_with("20"),  # 匹配所有年份列
    names_to = "year",       # 新生成的年份列名
    values_to = "electricity_use"  # 对应年份的人均用电量列名
  ) %>%
  # 把年份从字符型转成数值型,方便后续绘图和筛选
  mutate(year = as.numeric(year)) %>%
  # 筛选美国 + 1960-2011年的数据
  filter(country == "United States", year >= 1960, year <= 2011)

⚠️ 小提示:

  • 如果你的国家列名不是 country(比如叫 Country Name),记得替换成实际列名
  • 如果年份列带前缀(比如 Y_1960),可以加一行处理:mutate(year = as.numeric(str_remove(year, "Y_")))
  • 有缺失值的话,可追加 drop_na(electricity_use) 删掉缺失行,避免绘图断点

3. 绘制年度变化曲线

用 ggplot2 画折线图,直观展示变化趋势:

ggplot(tidy_electricity, aes(x = year, y = electricity_use)) +
  geom_line(color = "#2980b9", linewidth = 1.2) +  # 设置线条颜色和粗细
  labs(
    title = "美国1960-2011年人均用电量年度变化",
    x = "年份",
    y = "人均用电量(千瓦时)"
  ) +
  theme_minimal()  # 用简洁清爽的主题

运行完上面的代码,你就能得到一条清晰的美国人均用电量年度变化曲线啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:18:53