我尝试使用具有多个停靠点的ggmap
在Google地图上绘制路线。我使用下面的代码。
library("ggmap")
legs_df <- route('The Blackhouse Grill, 19 Newgate Street, Chester CH1 1DE, United Kingdom',
c('CH2 3GH, Chester, UK',
'CH3 3ET, Chester, UK','CH2 1ET, Chester, UK'),mode = c("walking")
)
qmap('Chester, UK', zoom = 15, maptype = 'hybrid',
base_layer = ggplot(aes(x = startLon, y = startLat), data = legs_df)) +
geom_leg(aes(x = startLon, y = startLat, xend = endLon, yend = endLat,
colour = route),
alpha = 2/4, size = 2, data = legs_df)
问题是我收到错误,不知道如何自动选择类型函数对象的比例。默认为连续
data.frame中的错误(x = c(-2.8886032,-2.8884907,-2.8822871,-2.875769,:
) 参数意味着不同的行数:8,0
有什么想法吗?
答案 0 :(得分:3)
问题在于您指定颜色的方式。如果您不想以不同的颜色为每条腿着色,那么您应该在aes
函数之外指定颜色,如下所示:
qmap('Chester, UK', zoom = 15, maptype = 'hybrid',
base_layer = ggplot(aes(x = startLon, y = startLat), data = legs_df)) +
geom_leg(aes(x = startLon, y = startLat, xend = endLon, yend = endLat),
alpha = 2/4, size = 2, data = legs_df, colour = 'red')
结果是:
您获得的错误是因为您指定了route
作为颜色,route
是一个函数。所以它不知道如何将函数映射为颜色。