我有一个矩形边界框的坐标。例。
maxlat = 49,minlat = 30,maxlong = -117,minlong = -125
定义界限。
如何在美国地图上放一个与之对应的盒子?
基本上我正在寻找这样的数字:
我想在一个美国地图上放六个这样的盒子。如果我可以在图旁边放置1,2,3,4之类的序列号,那会更好。但是,只要把盒子放好,那也很棒。
附录:
美国地图是使用以下内容制作的:
usamap <- map_data("state")
ggplot() +
geom_polygon( data=usamap, aes(x=long, y=lat,group=group),colour="black", fill="white" )+
xlab('Longitude')+
ylab('Latitude')+
coord_map(projection = "mercator")+
theme_bw()+
theme(legend.position = c(.93,.20),panel.grid.major = element_line(colour = "#808080"))+
ggsave("usmap_blank.png",width=10, height=8,dpi=300)
Run Code Online (Sandbox Code Playgroud)
您可以使用所需的注释信息创建一个data.frame
boxes<-data.frame(maxlat = 49,minlat = 30,maxlong = -117,minlong = -125, id="1")
boxes<-transform(boxes, laby=(maxlat +minlat )/2, labx=(maxlong+minlong )/2)
Run Code Online (Sandbox Code Playgroud)
然后将框和标签添加为单独的图层
usamap <- map_data("state")
ggplot() +
geom_polygon( data=usamap, aes(x=long, y=lat,group=group),colour="black", fill="white" )+
xlab('Longitude')+
ylab('Latitude')+
coord_map(projection = "mercator")+
geom_rect(data=boxes, aes(xmin=minlong , xmax=maxlong, ymin=minlat, ymax=maxlat ), color="red", fill="transparent") +
geom_text(data=boxes, aes(x=labx, y=laby, label=id), color="red") +
theme_bw()+
theme(legend.position = c(.93,.20),panel.grid.major = element_line(colour = "#808080"))
Run Code Online (Sandbox Code Playgroud)
您可以在boxs表中为任意多个box添加行。
归档时间: |
|
查看次数: |
1277 次 |
最近记录: |