具有分箱颜色和图例的纽约州县地图
Map of New York State counties with binned colors and legend
我正在尝试制作纽约州的县级地图。我想根据工会化程度为每个县着色。我需要地图和图例具有四种不同的红色,而不是红色渐变。我需要图例来显示这四种不重叠的不同颜色 labels/ranges(例如 0-25;26-50;51-75;76-100)。
这是我的数据:
fips unionized
1 36001 33.33333
2 36005 86.11111
3 36007 0.00000
4 36017 0.00000
5 36021 0.00000
6 36027 66.66667
7 36029 40.00000
8 36035 50.00000
9 36039 0.00000
10 36047 82.85714
11 36051 0.00000
12 36053 100.00000
13 36055 30.76923
14 36057 0.00000
15 36059 84.37500
16 36061 81.81818
17 36063 60.00000
18 36065 50.00000
19 36067 71.42857
20 36069 0.00000
21 36071 55.55556
22 36073 0.00000
23 36079 100.00000
24 36081 92.15686
25 36083 50.00000
26 36085 100.00000
27 36087 87.50000
28 36101 0.00000
29 36103 63.88889
30 36105 0.00000
31 36107 0.00000
32 36111 50.00000
33 36113 50.00000
34 36115 100.00000
35 36117 0.00000
36 36119 73.33333
37 36121 0.00000
38 36123 0.00000
我已经成功制作了带有颜色渐变的地图,但不知道如何在地图和图例中制作离散颜色。
这是我的代码:
library(usmap)
library(ggplot2)
plot_usmap(regions = "counties", include = c("NY"), data = Z, values = "unionized") +
labs(title = "Percent Unionized", subtitle = "") +
scale_fill_continuous(low = "white", high = "red", na.value="light grey", name = "Unionization") + theme(legend.position = "right")
谢谢!
这可以通过 scale_fill_binned
和 guide_bins
实现。试试这个:
library(usmap)
library(ggplot2)
plot_usmap(regions = "counties", include = c("NY"), data = Z, values = "unionized") +
labs(title = "Percent Unionized", subtitle = "") +
scale_fill_binned(low = "white", high = "red", na.value="light grey", name = "Unionization", guide = guide_bins(axis = FALSE, show.limits = TRUE)) +
theme(legend.position = "right")
第二种选择是手动对变量进行分箱并使用 scale_fill_manual
设置填充颜色,这使得设置标签变得容易,并且具有自动添加 NA 的优点。对于色标,我使用 colorRampPalette
(默认情况下 colorRampPalette
在 rgb 颜色 space 中插值。要获得像使用 scale_fill_binned
那样的填充颜色,您可以添加参数 space = "Lab"
.).
library(usmap)
library(ggplot2)
Z$union_bin <- cut_interval(Z$unionized, n = 4, labels = c("0-25", "26-50", "51-75", "76-100"))
plot_usmap(regions = "counties", include = c("NY"), data = Z, values = "union_bin") +
labs(title = "Percent Unionized", subtitle = "") +
scale_fill_manual(values = colorRampPalette(c("white", "red"))(5)[2:5],
na.value="light grey", name = "Unionization") +
theme(legend.position = "right")
我正在尝试制作纽约州的县级地图。我想根据工会化程度为每个县着色。我需要地图和图例具有四种不同的红色,而不是红色渐变。我需要图例来显示这四种不重叠的不同颜色 labels/ranges(例如 0-25;26-50;51-75;76-100)。
这是我的数据:
fips unionized
1 36001 33.33333
2 36005 86.11111
3 36007 0.00000
4 36017 0.00000
5 36021 0.00000
6 36027 66.66667
7 36029 40.00000
8 36035 50.00000
9 36039 0.00000
10 36047 82.85714
11 36051 0.00000
12 36053 100.00000
13 36055 30.76923
14 36057 0.00000
15 36059 84.37500
16 36061 81.81818
17 36063 60.00000
18 36065 50.00000
19 36067 71.42857
20 36069 0.00000
21 36071 55.55556
22 36073 0.00000
23 36079 100.00000
24 36081 92.15686
25 36083 50.00000
26 36085 100.00000
27 36087 87.50000
28 36101 0.00000
29 36103 63.88889
30 36105 0.00000
31 36107 0.00000
32 36111 50.00000
33 36113 50.00000
34 36115 100.00000
35 36117 0.00000
36 36119 73.33333
37 36121 0.00000
38 36123 0.00000
我已经成功制作了带有颜色渐变的地图,但不知道如何在地图和图例中制作离散颜色。
这是我的代码:
library(usmap)
library(ggplot2)
plot_usmap(regions = "counties", include = c("NY"), data = Z, values = "unionized") +
labs(title = "Percent Unionized", subtitle = "") +
scale_fill_continuous(low = "white", high = "red", na.value="light grey", name = "Unionization") + theme(legend.position = "right")
谢谢!
这可以通过 scale_fill_binned
和 guide_bins
实现。试试这个:
library(usmap)
library(ggplot2)
plot_usmap(regions = "counties", include = c("NY"), data = Z, values = "unionized") +
labs(title = "Percent Unionized", subtitle = "") +
scale_fill_binned(low = "white", high = "red", na.value="light grey", name = "Unionization", guide = guide_bins(axis = FALSE, show.limits = TRUE)) +
theme(legend.position = "right")
第二种选择是手动对变量进行分箱并使用 scale_fill_manual
设置填充颜色,这使得设置标签变得容易,并且具有自动添加 NA 的优点。对于色标,我使用 colorRampPalette
(默认情况下 colorRampPalette
在 rgb 颜色 space 中插值。要获得像使用 scale_fill_binned
那样的填充颜色,您可以添加参数 space = "Lab"
.).
library(usmap)
library(ggplot2)
Z$union_bin <- cut_interval(Z$unionized, n = 4, labels = c("0-25", "26-50", "51-75", "76-100"))
plot_usmap(regions = "counties", include = c("NY"), data = Z, values = "union_bin") +
labs(title = "Percent Unionized", subtitle = "") +
scale_fill_manual(values = colorRampPalette(c("white", "red"))(5)[2:5],
na.value="light grey", name = "Unionization") +
theme(legend.position = "right")