获得边界以通过状态

Get boundaries to come through on states

编辑 7:

经过相当多的帮助,我得到了一张接近我需要的结果的地图。但是我仍然需要在地图上显示州界线,但我无法弄清楚。为了制作一个合适的可重现示例,我需要 link 到数据集,因为 dput 太大了。

为了简单起见,我只对三个州进行子集化,但边界线没有显示出来。我希望能够让边界线以白线的形式穿过绘图,就像它们在地图的其余部分一样。感谢您的帮助。

数据集:

https://www.dropbox.com/s/0evuvrlm49ab9up/PRISM_1895_db.csv?dl=0

代表代码:

PRISM_1895_db <- read.csv("PRISM_1895_db.csv")

regions<- c("north dakota","south dakota","nebraska","kansas","oklahoma","texas","minnesota","iowa","missouri","arkansas", "illinois", "indiana", "wisconsin")

ggplot() + 
  geom_polygon(data=subset(map_data("state"), region %in% regions), aes(x=long, y=lat, group=group), col="white") +
  geom_point(data = PRISM_1895_db2, aes(x = longitude, y = latitude, color = APPT), alpha = .5, size = 3.5) 

图表:

绘制图层的顺序很重要。如果您希望 while 行位于顶部,则需要最后添加它们。如果你想要背景中的黑色形状,你首先需要它们。所以基本上你需要将状态分成两部分:背景和轮廓。

ggplot() + 
  geom_polygon(data=subset(map_data("state"), region %in% regions), aes(x=long, y=lat, group=group)) +
  geom_point(data = PRISM_1895_db, aes(x = longitude, y = latitude, color = APPT), alpha = .5, size = 3.5) +
  geom_polygon(data=subset(map_data("state"), region %in% regions), aes(x=long, y=lat, group=group), color="white", fill=NA)

产生