在 ggplot 中使用 topoJSON

using topoJSON in ggplot

我正在尝试绘制(使用 ggplot)我从 https://pitchinteractiveinc.github.io/tilegrams/ 生成的 topoJSON 文件。

我使用下面的代码尝试绘制示例 npr 1 对 1 数据:

library(rgeos)
library(rgdal) 
library(ggplot2)
library(dplyr)
map = readOGR("data/npr.json", "tiles")
map_df <- fortify(map)
gg = ggplot(data = map_df,  aes(long,lat, group=group))
gg = gg + geom_polygon(colour="gray65", size=1.0)
print(gg)

结果不对

我试过用 geom_map 绘制它,并尝试添加 coord_equal 和 coord_map 而没有影响。

我还尝试绘制单个多边形并得到下图。也许这表明多边形的点顺序不正确?任何人都知道如何纠正?

实际上,问题似乎出在 readOGR 完成的转换中。我手动导入了 json 并提取了多边形,效果很好。