对于美国各州shapefile,R geom_point与geom_line与geom_path

问题描述 投票:0回答:1

[[具有geom_path的美国状态] [1] [具有geom_point的美国状态] [2]我正在使用R将美国状态形状文件覆盖在ogallala区域形状文件上方。理想情况下,我希望将形状边界作为线,但是当我尝试(在图片中)使用地图时,会得到格式不正确的地图,但是当我尝试使用geom_point时,它可以正常工作。有人可以解释我在做什么错。 [美国的geom_line州] [3]


OG_HUC = read.csv("input/Ogallala_huc.csv")
OG_table =right_join(HUC8_map.df,OG_HUC,by = c("HUC_CODE"="HUC8"))
#OG_table = merge(HUC8_map.df,OG_HUC,by = "HUC8", sort = FALSE)
OG_table[is.na(OG_table)] = 0
#write.csv(OG_table,'OG_table.csv')


State <- readOGR( 
  dsn= paste0(getwd(),"/input/State") , 
  layer="states"
)
State_map <- spTransform(State, CRS("+proj=longlat +datum=WGS84"))
State_map@data$id = rownames(State_map@data)
State_map.points = fortify(State_map, region="id")

centroids.df <- as.data.frame(coordinates(State_map))
names(centroids.df) <- c("Longitude", "Latitude")  #more sensible column names

State_map.df1 = merge(State_map.points, State_map@data, by="id")
State_map.df2 = data.frame(id = State_map@data$id, State_map@data, centroids.df)




ggplot()+geom_polygon(data=OG_table,aes(x = long, y = lat, group=group),fill="lightskyblue",col="black", alpha = 0.3) +
  geom_text(data = State_map.df2, aes(Longitude, Latitude, label=STATE_ABBR),col="black")+
  #geom_path(data = OG_table, aes(long, lat, group=group),color="black") +
  geom_point(data = State_map.df1, aes(long, lat, label=STATE_ABBR),color="black")+
  coord_map(xlim = c(-108,-95),ylim = c(31,45))+
  scale_fill_identity()
```enter image description here 


  [1]: https://i.stack.imgur.com/7XzeB.png
  [2]: https://i.stack.imgur.com/9tAB8.png
  [3]: https://i.stack.imgur.com/MtgXs.png
r ggplot2 state boundary
1个回答
0
投票

尝试:图书馆(地图)ggplot(aes(lat,lon))+边界(“ states”)+ geom_polygon()

© www.soinside.com 2019 - 2024. All rights reserved.