【问题标题】:How to make a US map based on state-level data?如何根据州级数据制作美国地图?
【发布时间】:2019-03-25 19:18:03
【问题描述】:

我正在尝试使用 ggplot2 根据一些州级数据制作美国地图,并根据一个变量的值为每个州着色。

State   loan
AL      25310770
AK      45310770
AZ      35310770
AR      25682770
   ...

编辑:感谢@Hector Haffenden,dput(head(your_data)) 提供:

structure(list(state = c("AL", "AK", "AZ", "AR", "IL", "MA"), 
     loan = c(25310770, 21230922, 15055436, 15212963, 12796921, 20311736), 
     row.names = c(NA, 6L), class = "data.frame")

由于我有一个州名变量,是否可以根据州名缩写自动将每一行与地图匹配?这是我的预期输出示例:

https://i.imgur.com/0CD4fOx.png

【问题讨论】:

  • 你好“The R”,你的问题写得很好。潜在的改进可能是将dput(head(your_data)) 的结果添加到问题中。这允许某人复制粘贴样本。将为您提供更快、更准确的答案 :) 感谢您的接受并欢迎加入堆栈。
  • @HectorHaffenden 感谢您的建议!我会这样做的!

标签: r ggplot2


【解决方案1】:

试试这个,先这样定义我们的数据,

dat <- data.frame(state = c("AL", "AK", "AZ", "AR"), Loan = c(25310770, 45310770, 35310770, 25682770))

导入包usmapggplot2,然后,数据更完整,它会填满整个地图,但是使用提供的示例,我们看到

library(usmap)
library(ggplot2)

plot_usmap(
  data = dat, values = "Loan", lines = "red"
) + 
  scale_fill_continuous(
    low = "white", high = "red", name = "Loan", label = scales::comma
  ) + 
  labs(title = "US States", subtitle = "States and loan data") +
  theme(legend.position = "right")

请注意,由于提供的数据样本少,某些州是灰色的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    • 1970-01-01
    相关资源
    最近更新 更多