在qmap上为一个国家/地区绘制多条线

时间:2017-05-10 19:54:38

标签: r ggplot2 qmap

我想映射多个连接,例如this,但是更精确的级别(国家/地区)。为此,我想将qmap包和链接中使用的包结合起来,但它没有用。有人有想法吗?

我已经在尝试使用此代码了,但它也没有用完:

map = qmap(location='Berlin', zoom = 5)
berlin = c(geom_polygon(aes(long,lat,group=group), size = 0.1, colour= "#090D2A",
                 fill="#090D2A", alpha=0.8, data=map))

我收到以下错误: Error: ggplot2 doesn't know how to deal with data of class gg/ggplot

任何人都有一些想法为什么? : - (

1 个答案:

答案 0 :(得分:0)

错误告诉您正在将ggplot类型的对象传递给geom_polygon的数据参数(" data=map")。但是,geom_polygon通常需要data.frame类型的对象。见?geom_polygon

您可以将此示例作为初学者:

library(ggmap)
library(ggplot2)
library(geosphere)
map <- qmap(location='Berlin', zoom = 5)
n <- 50L
m <- matrix(c(
10,53,20,53,
3,47,23,55),ncol=4,byrow=T)
m <- gcIntermediate(m[,1:2],m[,3:4], n = n)
m <- as.data.frame(cbind(do.call(rbind, m), id=rep(seq_along(m), each = n)))
map + 
  theme_minimal() + 
  geom_path(
    aes(lon,lat,group=id), 
    data=m, 
    arrow = arrow(ends="both")) 

enter image description here