使用 ggplot 为自定义映射分组子区域
Grouping subregions for custom mapping with ggplot
我选择了一个项目,要求我绘制美国境内的自定义区域(包括 OCONUS 区域和领地)。因为整个数据集很大,所以我放了一个“小”子集here(文件名为AZExample.csv
)。我的完整数据框的名称是 allgeo
,我已经走到这一步了:
colnames(allgeo) <- c("County", "long", "lat", "group", "order", "State", "sregion")
g <- ggplot(NULL)
# Plot state outlines
g <- g + geom_polygon(data = us_states, aes(x = long, y = lat, group = group),
color = "black", fill = "white", size = 0.1)
g <- g + coord_map(projection = "albers", lat0 = 39, lat1 = 45)
# Add county outlines
g <- g + geom_polygon(data = allgeo, aes(x = long, y = lat, group = group,
fill = sregion))
g <- g + guides(fill = "none")
g <- g + theme(axis.line = element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
axis.title = element_blank(),
panel.background = element_blank(),
panel.border = element_blank(),
panel.grid = element_blank())
g
我正在尝试制作一张美国的图像(有时包括领土),用我在这里所说的 sregion
给它们上色。我得到的情节不是我想要的,因为 sregions
不是纯色:
最终我想添加其他县集合,但在此之前,我需要弄清楚这一点。我确信这是创建这样的地图时的基本内容,但我以前没有这样做过。有什么建议吗?
您的 csv 包含绘图顺序,只有按照此顺序对数据进行排序才能正确绘制多边形。对于您提供的子集,我们可以做:
library(ggplot2)
url <- paste0("https://raw.githubusercontent.com/",
"Doc-Midnight/Test_Dir/main/AZExample.csv")
allgeo <- read.csv(url)
ggplot() +
geom_polygon(data = allgeo[order(allgeo$order),],
aes(x = long, y = lat, group = group, fill = sregion),
color = "black") +
coord_map(xlim = c(-115, -108), ylim = c(30, 37.5)) +
theme_void()
由 reprex package (v2.0.1)
于 2022-04-14 创建
我选择了一个项目,要求我绘制美国境内的自定义区域(包括 OCONUS 区域和领地)。因为整个数据集很大,所以我放了一个“小”子集here(文件名为AZExample.csv
)。我的完整数据框的名称是 allgeo
,我已经走到这一步了:
colnames(allgeo) <- c("County", "long", "lat", "group", "order", "State", "sregion")
g <- ggplot(NULL)
# Plot state outlines
g <- g + geom_polygon(data = us_states, aes(x = long, y = lat, group = group),
color = "black", fill = "white", size = 0.1)
g <- g + coord_map(projection = "albers", lat0 = 39, lat1 = 45)
# Add county outlines
g <- g + geom_polygon(data = allgeo, aes(x = long, y = lat, group = group,
fill = sregion))
g <- g + guides(fill = "none")
g <- g + theme(axis.line = element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
axis.title = element_blank(),
panel.background = element_blank(),
panel.border = element_blank(),
panel.grid = element_blank())
g
我正在尝试制作一张美国的图像(有时包括领土),用我在这里所说的 sregion
给它们上色。我得到的情节不是我想要的,因为 sregions
不是纯色:
最终我想添加其他县集合,但在此之前,我需要弄清楚这一点。我确信这是创建这样的地图时的基本内容,但我以前没有这样做过。有什么建议吗?
您的 csv 包含绘图顺序,只有按照此顺序对数据进行排序才能正确绘制多边形。对于您提供的子集,我们可以做:
library(ggplot2)
url <- paste0("https://raw.githubusercontent.com/",
"Doc-Midnight/Test_Dir/main/AZExample.csv")
allgeo <- read.csv(url)
ggplot() +
geom_polygon(data = allgeo[order(allgeo$order),],
aes(x = long, y = lat, group = group, fill = sregion),
color = "black") +
coord_map(xlim = c(-115, -108), ylim = c(30, 37.5)) +
theme_void()
由 reprex package (v2.0.1)
于 2022-04-14 创建