R中的网络图和美国地图

4
我从美国各州之间的流量数据中创建了一个网络图。对于每个顶点,我有该州的纬度/经度。
我希望重新创建一种网络图,显示边缘,但将每个顶点的位置设置为它们的地理位置,并在背景中使用州边界地图。
我正在使用igraph创建我的网络。ggplot2中有一些很酷的映射示例,所以我想知道是否可以使用它。我相信我已经看到过类似的选项使用Pajek,但我希望留在R内。
任何想法/见解都将不胜感激。
  • Brock
1个回答

8

您有多个与地图相关的包。最简单的是maps,它提供了各州地图。您可以使用坐标绘制顶点。

map("state")
points(longitute,latitude)

这些图表可以使用基本工具进行操作和添加,需要记住x轴是经度,y轴是纬度。可以使用segments()函数绘制边缘。
在ggplot2中,只需使用map_data()函数即可获得地图的形状数据,并使用geom_polygon()以任何形式将其添加到图表中。同样,您可以使用适当的ggplot2函数geom_point()geom_segment()使用坐标添加顶点和边缘。您链接的代码演示了如何操作,或者查看此处以获取示例。
除此之外,您还可以查看maptoolsmapproj包,它们提供更多功能,并允许对同一地图进行不同的投影。您也可以使用这些包在坐标系中计算地理距离。 mapdata包含更多数据库,覆盖了基本上整个世界。您可以很好地使用坐标。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接