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

R 在qmap上为一个国家/地区绘制多条线,r,ggplot2,qmap,R,Ggplot2,Qmap,我想在一个更精确的水平(国家)上绘制多个连接。为此,我想将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

我想在一个更精确的水平(国家)上绘制多个连接。为此,我想将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))
我得到以下错误:
错误:ggplot2不知道如何处理gg/ggplot类数据


有人知道为什么吗-(

该错误告诉您正在将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")) 
库(ggmap)
图书馆(GG2)
图书馆(地球圈)

地图谢谢你的回复,它很有效!我现在在zoom 13上使用它。现在这条线不是曲线。你知道如何更改参数,使这条线看起来有点“弯曲”吗?是否有机会删除X轴和Y轴上的lat和long参数?你可以使用笛卡尔坐标系下的
geom_曲线
map+geom_曲线(aes)(x=lon1,y=lat1,xend=lon2,yend=lat2),data.frame(lon1=13.375,lat1=52.5,lon2=13.425,lat2=52.54))+coord_笛卡尔()+theme(aspect.ratio=1)
。请注意,这条线弯曲是有原因的。