ggplot2 地图产生之字形填充

ggplot2 map produces zigzag fill

不确定发生了什么 - 这一切都很好,直到一个阴谋把它扔给我。我设法(看似)突然创建了这个。

我的代码可以在这里找到:https://github.com/popovs/400m-cartograms

结果:

您忘记对区域进行分组:

ggplot() + 
  geom_polygon(data = map_data("world"), 
               aes(long, lat, group = group))

在将数据输入 ggplot 之前尝试包含此内容:

library(dplyr)

map_data_1950 <- arrange(map_data_1950, order)

当您对地图数据执行 merge() 时,某些国家/地区的坐标顺序混淆了。重新排序应该可以解决问题。

# Illustration
p1 <- ggplot() +
  geom_polygon(data = map_data_1950,
               aes(fill = Catch, x = long, y= lat, group = group)) +
  ggtitle("Without reordering")

p2 <- ggplot() +
  geom_polygon(data = arrange(map_data_1950, order),
               aes(fill = Catch, x = long, y= lat, group = group)) +
  ggtitle("With reordering")

gridExtra::grid.arrange(p1, p2, ncol = 2)