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)
不确定发生了什么 - 这一切都很好,直到一个阴谋把它扔给我。我设法(看似)突然创建了这个。
我的代码可以在这里找到: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)