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

如何用R的ggplot绘制指定新冠疫苗接种成功率相似图表

解决瑞典三郡市政新冠疫苗接种成功率可视化问题

步骤1:加载依赖包

先安装并加载所需R包(首次运行需执行安装命令):

install.packages(c("readxl", "ggplot2", "dplyr", "scales"))
library(readxl)
library(ggplot2)
library(dplyr)
library(scales)

步骤2:读取并预处理数据

从指定Excel工作表读取数据,筛选目标郡并计算接种成功率:

# 读取目标工作表数据
vaccine_data <- read_excel("Folkhalsomyndigheten_Covid19_Vaccine.xlsx", 
                          sheet = "Vaccinerade kommun och ålder")

# 筛选Skåne、Stockholm、Västra Götaland三郡数据,计算接种成功率
# 注:请根据实际数据列名调整字段名(示例中Län=郡、Kommun=市政、Befolkning=总人口、Färdigvaccinerade=完成接种人数)
target_data <- vaccine_data %>%
  filter(Län %in% c("Skåne", "Stockholm", "Västra Götaland")) %>%
  mutate(vaccination_rate = Färdigvaccinerade / Befolkning)

步骤3:补充ggplot绘图代码(核心实现)

以下代码完成要求的可视化,同时解决人口图例的科学计数法问题:

ggplot(target_data, aes(x = Kommun, y = vaccination_rate, color = Län, size = Befolkning)) +
  geom_point(alpha = 0.7) + # 散点图添加透明度,优化重叠点可读性
  scale_y_continuous(labels = percent(accuracy = 1)) + # Y轴显示为百分比格式
  scale_size_continuous(labels = label_number()) + # 强制人口图例使用常规数字,避免科学计数法
  labs(
    title = "瑞典三大郡市政新冠疫苗接种成功率对比",
    x = "市政名称",
    y = "接种成功率",
    color = "所属郡",
    size = "市政总人口"
  ) +
  theme_bw() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) # 旋转X轴标签,避免文字重叠

关键说明

  • scale_size_continuous(labels = scales::label_number()) 是解决人口图例科学计数法的核心代码,严格按要求添加即可
  • 若实际数据列名与示例不符,请自行调整filter和mutate中的字段名
  • alpha = 0.7 可缓解同区域市政点重叠的问题,提升图表清晰度

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 00:55:05