绘制坐标ggmap的问题
Issues with plotting coordinates ggmap
我一直在尝试使用 ggmap 和 ggplot2 组合获取以下数据集进行映射。
我的数据框 -> head(dt.fil) 包含 855 个值
lat lon airline
1 -73.9930 40.7480 Virgin America
2 -71.0200 42.3610 Virgin America
3 -118.4062 33.9454 Virgin America
4 -118.4041 33.9421 Virgin America
5 -96.9322 33.2145 US Airways
6 -118.3859 34.0220 United
我的代码如下
map_airlines <- get_map(location = c(lon = mean(dt.fil$lon),
lat = mean(dt.fil$lat)), zoom = 5,
maptype = "satellite", scale = 2)
# visualze the tweet locations
ggmap(map_airlines) +
geom_point(data=dt.fil, aes(x=lon, y=lat, fill='red',
alpha=0.6, colour=airline)) +
guides(fill=FALSE, alpha=FALSE)
我收到以下错误
Warning messages:
1: In min(x) : no non-missing arguments to min; returning Inf
2: In max(x) : no non-missing arguments to max; returning -Inf
3: In min(x) : no non-missing arguments to min; returning Inf
4: In max(x) : no non-missing arguments to max; returning -Inf
5: Removed 835 rows containing missing values (geom_point).
如果有人能帮助我,我将不胜感激:)
这里有 2 个问题:
首先,有效纬度从 -90 到 +90,而有效经度从 -180 到 +180。看到你的纬度不在这个范围内,我想你改变了它们。因此,在本示例的其余部分,我将纬度更改为经度,将经度更改为纬度。 (鉴于您正在与美国航空公司合作并且数据点都位于美国,这似乎是合理的)。
lon <- c(-73.9930 , -71.0200 , -118.4062 , -118.4041, -96.9322 , -118.3859 )
lat <- c(40.7480, 42.3610 , 33.9454 , 33.9421 , 33.2145 , 34.0220 )
airline <- c("Virgin America", "Virgin America", "Virgin America", "Virgin America", "US Airways", "United")
dt.fil <- data.frame(lat, lon, airline)
第二个问题是您的地图不够大,无法绘制点。要解决这个问题,只需调整缩放比例即可。 (我拿了 3 个而不是 5 个,只需调整它直到所有数据点都适合)。
map_airlines <- get_map(location = c(lon = mean(dt.fil$lon),
lat = mean(dt.fil$lat)),
zoom = 3,
maptype = "satellite", scale = 2)
#visualze the tweet locations
ggmap(map_airlines) +
geom_point(data=dt.fil, aes(x=lon, y=lat, colour=airline), fill='red',
alpha=0.6) +
guides(fill=FALSE, alpha=FALSE)
我一直在尝试使用 ggmap 和 ggplot2 组合获取以下数据集进行映射。
我的数据框 -> head(dt.fil) 包含 855 个值
lat lon airline
1 -73.9930 40.7480 Virgin America
2 -71.0200 42.3610 Virgin America
3 -118.4062 33.9454 Virgin America
4 -118.4041 33.9421 Virgin America
5 -96.9322 33.2145 US Airways
6 -118.3859 34.0220 United
我的代码如下
map_airlines <- get_map(location = c(lon = mean(dt.fil$lon),
lat = mean(dt.fil$lat)), zoom = 5,
maptype = "satellite", scale = 2)
# visualze the tweet locations
ggmap(map_airlines) +
geom_point(data=dt.fil, aes(x=lon, y=lat, fill='red',
alpha=0.6, colour=airline)) +
guides(fill=FALSE, alpha=FALSE)
我收到以下错误
Warning messages:
1: In min(x) : no non-missing arguments to min; returning Inf
2: In max(x) : no non-missing arguments to max; returning -Inf
3: In min(x) : no non-missing arguments to min; returning Inf
4: In max(x) : no non-missing arguments to max; returning -Inf
5: Removed 835 rows containing missing values (geom_point).
如果有人能帮助我,我将不胜感激:)
这里有 2 个问题:
首先,有效纬度从 -90 到 +90,而有效经度从 -180 到 +180。看到你的纬度不在这个范围内,我想你改变了它们。因此,在本示例的其余部分,我将纬度更改为经度,将经度更改为纬度。 (鉴于您正在与美国航空公司合作并且数据点都位于美国,这似乎是合理的)。
lon <- c(-73.9930 , -71.0200 , -118.4062 , -118.4041, -96.9322 , -118.3859 ) lat <- c(40.7480, 42.3610 , 33.9454 , 33.9421 , 33.2145 , 34.0220 ) airline <- c("Virgin America", "Virgin America", "Virgin America", "Virgin America", "US Airways", "United") dt.fil <- data.frame(lat, lon, airline)
第二个问题是您的地图不够大,无法绘制点。要解决这个问题,只需调整缩放比例即可。 (我拿了 3 个而不是 5 个,只需调整它直到所有数据点都适合)。
map_airlines <- get_map(location = c(lon = mean(dt.fil$lon), lat = mean(dt.fil$lat)), zoom = 3, maptype = "satellite", scale = 2) #visualze the tweet locations ggmap(map_airlines) + geom_point(data=dt.fil, aes(x=lon, y=lat, colour=airline), fill='red', alpha=0.6) + guides(fill=FALSE, alpha=FALSE)