我正在使用ggplot创建一个地图,其中包含一个基于我的数据填充不同区域的渐变。
默认情况下没有绘制边框线的地图。我想要包含它们,并根据this question编写了一些代码。然而,我认为这导致太多的线路连接到区域的所有角落。我该如何避免这种情况?
在下面的代码中,datafile是我想要在地图上显示的数据的存储位置,Scot是shapefile。
导致问题的行是geom_polygon。
ggplot() +
geom_map(data = datafile, aes(map_id = region, fill = datafile$"2007"), map = Scot) +
geom_polygon(data = Scot, aes(x = Scot$long, y = Scot$lat), colour = "gray", fill = NA) +
expand_limits(x = Scot$long, y=Scot$lat) +
scale_fill_gradient(low = ("lightyellow"), high = ("red"), limits = c(0,35000)) +
ggtitle("2007") +
coord_fixed(1.2) +
theme(axis.text.x = element_blank(), axis.text.y = element_blank(),
axis.ticks = element_blank(), axis.title.x = element_blank(),
axis.title.y = element_blank(),
panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
panel.border = element_blank(), panel.background = element_blank(),
legend.title = element_text(face = "bold"),
plot.title = element_text(face = "bold", hjust = 0.5))
答案 0 :(得分:1)
尝试将group = group
添加到geom_polygon行。正如Richard Telford所说,您不必在aes
内使用$符号,因为您已经通过data = Scot
指示了数据源:
... + geom_polygon(data = Scot, aes(x = long, y = lat, group = group),
colour = "gray", fill = NA)
注意:我假设Scot数据框是通过强化某种空间数据集获得的,该数据集总是包含一个名为“group”的列。如果不存在,请查找指示哪些点应属于同一多边形的列。 geom_polygon
州的帮助文件(重点已添加):
多边形与路径非常相似(由geom_path绘制)除外 起点和终点相连,内部颜色为 填。 群体美学决定了哪些案例是相互联系的 一起变成多边形。