在R中使用ggplot绘制的地图边框线太多
问题描述:
我正在使用ggplot创建地图,并根据我的数据使用渐变填充不同区域。在R中使用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))
答
尝试增加group = group
您geom_polygon线。正如理查德·德福说,你不必使用内部aes
的$符号,因为你已经通过data = Scot
指示数据源:
... + geom_polygon(data = Scot, aes(x = long, y = lat, group = group),
colour = "gray", fill = NA)
注:我以为是通过强化一个获得的苏格兰人数据帧某种空间数据集,它总是包含一个名为“group”的列。如果不存在,请查找指示哪些点应属于同一个多边形的列。对于geom_polygon
国家的帮助文件(强调):
多边形是非常相似的路径(如geom_path绘制),除了 的起点和终点连接和内部被 填充颜色。 该组审美决定哪些案件 连在一起成多边形。
+0
谢谢,这已经起作用了(并且我也删除了$,感谢你和理查德指出了这一点)。 – Megan
不要在'aes'中使用$表示法。这可能是你的问题的原因。对于名为'2007'的列,将其包括在 –