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

如何正确绘制各大陆历年总产量变化的可视化图表?

各大陆历年总产量变化趋势可视化解决方案

一、数据预处理

原始数据的Year_Range为区间字符串,需先转换为可用于时间序列分析的年份值,同时按大陆和年份汇总总产量(同一大陆同一时间段可能存在多个地区数据):

# 加载依赖包
library(ggplot2)
library(dplyr)
library(stringr)

# 处理数据:提取年份并按大陆+年份汇总总产量
processed_data <- merge_data %>%
  mutate(Year = case_when(
    # 提取区间起始年份
    str_detect(Year_Range, "-") ~ as.integer(str_extract(Year_Range, "^\\d{4}")),
    # 提取Until后的年份
    str_detect(Year_Range, "Until") ~ as.integer(str_extract(Year_Range, "\\d{4}$")),
    TRUE ~ NA_integer_
  )) %>%
  group_by(continent, Year) %>%
  summarise(Total_Production = sum(Total_Production, na.rm = TRUE)) %>%
  ungroup() %>%
  arrange(Year)

二、修正后的可视化代码

采用折线图展示各大陆总产量随年份的变化趋势,用颜色区分大陆,添加数据点增强可读性:

ggplot(processed_data, aes(x = Year, y = Total_Production, color = continent, group = continent)) +
  geom_line(linewidth = 1.2) +
  geom_point(size = 3) +
  # 自定义大陆配色
  scale_color_manual(values = c(
    "Americas" = "blue", 
    "Asia" = "red", 
    "Africa" = "green",
    "Oceania" = "purple", 
    "Europe" = "orange"
  )) +
  labs(
    title = "各大陆历年总产量变化趋势",
    subtitle = "时间范围:1960 - 2018",
    x = "年份",
    y = "总产量",
    color = "大陆"
  ) +
  theme_minimal() +
  # 可选:启用对数坐标轴,解决不同大陆产量差距过大导致的可视化失衡问题
  scale_y_log10(labels = scales::comma)

三、原代码问题分析

  • 原代码使用geom_point()结合经纬度绘制的是地理散点图,仅能展示单个地区的地理位置与产量大小,完全无法体现时间维度的变化趋势。
  • 未对数据按大陆和年份做汇总处理,同一大陆的多地区数据分散展示,无法反映大陆整体的总产量变化。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 03:22:51