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

如何用R ggplot的geom_line可视化6个HOLC等级CSV分类数据

多CSV文件的HOLC等级统计与可视化方案

核心步骤建议

优先合并所有CSV并添加数据集标识,再统一统计各等级计数,这样后续可视化能一次性涵盖所有数据,效率更高。


1. 批量读取并合并CSV文件

用tidyverse工具包可以高效处理多文件,给每个数据集加上来源标识(比如文件名):

# 加载必备包
library(tidyverse)

# 替换成你的CSV所在文件夹路径
csv_folder <- "你的CSV文件存放路径"
# 获取所有CSV文件的路径
csv_paths <- list.files(path = csv_folder, pattern = "\\.csv$", full.names = TRUE)

# 批量读取+合并,同时添加来源列(用文件名作为标识)
combined_data <- map_dfr(csv_paths, function(file) {
  read_csv(file, col_names = "holc_grade") %>% 
    mutate(dataset = str_remove(basename(file), "\\.csv"))
})

2. 统计各等级(含NA)的出现次数

直接按数据集和等级分组计数,把NA转换成明确的字符方便可视化:

grade_stats <- combined_data %>%
  group_by(dataset, holc_grade) %>%
  summarise(count = n(), .groups = "drop") %>%
  # 将NA转为"NA"字符串,避免可视化时被忽略
  mutate(holc_grade = case_when(
    is.na(holc_grade) ~ "NA",
    TRUE ~ holc_grade
  ))

3. ggplot可视化(推荐分组条形图)

之前用geom_line展示分类数据不合适,改用分组条形图清晰对比不同数据集的等级分布:

ggplot(grade_stats, aes(x = holc_grade, y = count, fill = dataset)) +
  geom_col(position = "dodge", width = 0.7) + # 分组并列条形
  labs(
    title = "各数据集HOLC邻里等级分布",
    x = "HOLC等级",
    y = "普查街区组数量",
    fill = "数据集"
  ) +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5)) # 标题居中

可选:展示等级占比(而非绝对数量)

如果想对比各等级在数据集中的占比,调整统计和绘图:

grade_proportions <- combined_data %>%
  group_by(dataset) %>%
  mutate(total = n()) %>%
  group_by(dataset, holc_grade) %>%
  summarise(percentage = n()/total, .groups = "drop") %>%
  mutate(holc_grade = case_when(
    is.na(holc_grade) ~ "NA",
    TRUE ~ holc_grade
  ))

ggplot(grade_proportions, aes(x = holc_grade, y = percentage, fill = dataset)) +
  geom_col(position = "dodge", width = 0.7) +
  scale_y_continuous(labels = scales::percent_format(accuracy = 1)) + # 转为百分比显示
  labs(
    title = "各数据集HOLC邻里等级占比",
    x = "HOLC等级",
    y = "占比",
    fill = "数据集"
  ) +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5))

对你之前代码的说明

之前用geom_line处理分类数据(等级+数据集)不合适,而且没有做计数统计,相当于把每一条街区组数据都绘制了一遍,所以结果不符合预期。用上述分组计数+条形图的方式,能清晰展示所有数据集的等级分布。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 00:40:19