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

如何使用R语言Tidycensus包创建双变量等值区域图

正如Kyle Walker在《Spatial Analysis with US Census Data》中介绍,R语言tidycensus包可直接对接Census.gov API获取美国人口普查数据,绘制普通单变量等值区域图(choropleth)十分简便。如果需要绘制双变量等值区域图(bivariate choropleth map),搭配biscale包即可快速实现,具体方法如下:

单变量等值区域图基础用法

tidycensus拉取带空间属性的普查数据后,可直接调用基础绘图函数生成单变量等值区域图,效果示例如下:
使用tidycensus R包绘制的迈阿密收入中位数等值区域图
实现代码如下:

miami_income <- get_acs(geography = "tract", year = 2020,
                        variables  = c(
                         Median_Income = "B19013_001"
                        ),
                        state = "FL", county = "Miami-Dade County",
                        geometry = TRUE)
plot(miami_income["estimate"])
双变量等值区域图实现方案

双变量等值区域图可同时展示两个指标的空间分布组合特征,Christopher Prener博士开发的biscale包已经封装好了双变量分箱、配色、主题适配的全流程工具,无需手动编写映射逻辑,出图效果示例如下:
biscale包示例:圣路易斯种族与收入分布双变量图
实现代码如下:

## stl_race_income example data in biscale package
stlouis_race_income_bivar <- 
  biscale::bi_class(stl_race_income, x = pctWhite, y = medInc, style = "quantile", dim = 3)
# create map
ggplot() +
  geom_sf(data = stlouis_race_income_bivar, 
          mapping = aes(fill = bi_class), color = "white", 
          size = 0.1, show.legend = FALSE) +
  bi_scale_fill(pal = "GrPink", dim = 3) +
  labs(
    title = "Race and Income in St. Louis, MO",
    subtitle = "Gray Pink (GrPink) Palette"
  ) +
  bi_theme()

实际使用时,只需要将tidycensus拉取到的、包含两个目标分析变量的sf格式空间数据,替换上述代码中的stl_race_income,将x、y参数设置为需要分析的两个变量对应的列名,即可生成对应研究区域的双变量等值区域图。


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

相关产品推荐
方舟 Agent Plan

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

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