美国各州在 R 中绘制选举结果
us states plot in R with election results
我在 R 中绘制了美国各州的图形。
这是非常简单的代码:
library(usmap)
library(ggplot2)
plot_usmap(region = 'states')
这是结果图:
Figure of US states in R - states are not colored
此外,我有一个包含美国各州名称和颜色值的 csv 文件,如果该州投票给共和党,则颜色值等于红色;如果该州投票给民主党,则颜色值等于蓝色。这是 CSV 文件的前 5 行:
State
Color
Alabama
#E81B23
Alaska
#E81B23
Arizona
#1405bd
Arkansas
#E81B23
如何根据 CSV 文件中的颜色填充图形状态?
要为 plot_usmap()
函数中指定的区域着色,您可以通过 data=
提供数据,然后将 values=
参数设置为数据中用于映射的列颜色。
下面是一些随机生成的数据的示例。 plot_usmap()
使用的数据集包括美国 50 个州和哥伦比亚特区,因此您需要确保它们都在您的数据集中,否则您可能会得到一些 NA 标签。
library(usmap)
library(ggplot2)
set.seed(1234)
color_data <- data.frame(
state = c(state.name, "District of Columbia"),
the_colors = sample(c("A", "B"), size=51, replace=TRUE)
)
plot_usmap(
region = "states",
data = color_data,
values = "the_colors",
color="white"
) +
scale_fill_manual(values=c("#E81B23", "#1405bd"))
请注意,我认为各州之间的线条用白色看起来不错,因此 color="white"
修复了这个问题。您可能还会注意到,您通常不会在数据框中指定实际颜色 - 您可以通过 scale_fill_manual(values=...)
指定。在您的情况下,您可以使用 scale_fill_identity()
.
对于您的数据,只需确保数据集中的 "States"
列已重命名 "state"
,它应该可以正常工作。
我在 R 中绘制了美国各州的图形。
这是非常简单的代码:
library(usmap)
library(ggplot2)
plot_usmap(region = 'states')
这是结果图: Figure of US states in R - states are not colored
此外,我有一个包含美国各州名称和颜色值的 csv 文件,如果该州投票给共和党,则颜色值等于红色;如果该州投票给民主党,则颜色值等于蓝色。这是 CSV 文件的前 5 行:
State | Color |
---|---|
Alabama | #E81B23 |
Alaska | #E81B23 |
Arizona | #1405bd |
Arkansas | #E81B23 |
如何根据 CSV 文件中的颜色填充图形状态?
要为 plot_usmap()
函数中指定的区域着色,您可以通过 data=
提供数据,然后将 values=
参数设置为数据中用于映射的列颜色。
下面是一些随机生成的数据的示例。 plot_usmap()
使用的数据集包括美国 50 个州和哥伦比亚特区,因此您需要确保它们都在您的数据集中,否则您可能会得到一些 NA 标签。
library(usmap)
library(ggplot2)
set.seed(1234)
color_data <- data.frame(
state = c(state.name, "District of Columbia"),
the_colors = sample(c("A", "B"), size=51, replace=TRUE)
)
plot_usmap(
region = "states",
data = color_data,
values = "the_colors",
color="white"
) +
scale_fill_manual(values=c("#E81B23", "#1405bd"))
请注意,我认为各州之间的线条用白色看起来不错,因此 color="white"
修复了这个问题。您可能还会注意到,您通常不会在数据框中指定实际颜色 - 您可以通过 scale_fill_manual(values=...)
指定。在您的情况下,您可以使用 scale_fill_identity()
.
对于您的数据,只需确保数据集中的 "States"
列已重命名 "state"
,它应该可以正常工作。