我正在尝试绘制一个世界地图,该地图的点表示使用ggplot2进行的恐怖袭击。被杀人数越多,重点就越大。我从https://www.start.umd.edu/gtd/获取了数据集。我收到错误“美学必须为长度1或与数据相同”,但我不知道为什么。谢谢
dat <- data.frame(latitude = latitude, longitude = longitude, nkill = nkill)
p <- ggplot()
world <- map_data("world")
p <- p + geom_polygon(data = world, aes(x = longitude, y = latitude, group = group), colour = "white", fill = "gray")
p <- p + coord_map(xlim = range(longitude), ylim = range(latitude))
p <- p + geom_point(data = dat, aes(x = longitude, y = latitude, size = nkill, color = nkill))
数据具有以下结构
latitude longitude nkill
1 8.868790 -73.19409 0
2 2.059819 45.32612 4
3 30.200819 66.99435 3
4 29.034412 69.15866 0
5 36.354145 43.14357 2
6 33.994591 44.35727 2
答案 0 :(得分:0)
希望这会有所帮助:
ggplot() +
geom_polygon(
data=world,
aes(x=long, y=lat, group=group),
colour="white",
fill="gray") +
coord_quickmap(
xlim=range(dat$longitude),
ylim=range(dat$latitude)) +
geom_point(
data=dat,
aes(
x=longitude,
y=latitude,
size=nkill,
colour=nkill)) +
theme_void()