标签: ggmap

ggmap:注释错误

我最近遇到了ggmap函数的问题 - 从来没有过.

我有这个data.frame:

> head(df)
  longitude latitude freq
1 -118.7093 34.13446    2
2 -118.7092 34.13437    1
3 -118.6851 34.28574    5
4 -118.5986 34.26155    1
5 -118.5917 34.22762    6
6 -118.5914 34.37675    1
Run Code Online (Sandbox Code Playgroud)

我曾经能够使用get_map获取地图,然后使用ggmap绘制栅格对象的绘图.然后我会使用+ geom_point或其中任何一个来绘制我的数据,就像一个魅力.

map <- get_map(location=c(lon=-117.962813,lat=33.969399), zoom=10, maptype="hybrid")
finalmap <- ggmap(map, base_layer = ggplot(aes(x=longitude, y=latitude), data = df))
Run Code Online (Sandbox Code Playgroud)

但是现在ggmap返回:

Error in annotate("rect", xmin = xmin, xmax = xmax, ymin = ymin, ymax = ymax,  : 
  unused arguments (xmin = xmin, xmax = xmax, ymin = ymin, ymax = …
Run Code Online (Sandbox Code Playgroud)

r ggmap

3
推荐指数
1
解决办法
1122
查看次数

将一堆箭头添加到ggmap

我正在绘制一张地图,该地图应该包含来自数据集的多个(> 400)箭头的叠加,该箭头具有每个箭头的开始和结束的纬度/经度对.以下是使用dput的数据子集:

df <- structure(list(Lat = c(49.34054, 49.34068, 49.3409, 49.34106, 
49.34116, 49.34133, 49.34138, 49.34144, 49.34155, 49.34164, 49.34168, 
49.34178, 49.34179, 49.34187, 49.34199, 49.34202, 49.3421, 49.34219, 
49.34226, 49.34236, 49.3424), Lon = c(-117.76365, -117.76433, 
-117.76474, -117.76575, -117.76646, -117.76607, -117.76643, -117.76676, 
-117.76611, -117.76638, -117.76678, -117.76612, -117.7671, -117.76678, 
-117.76776, -117.76745, -117.76706, -117.76815, -117.76778, -117.76762, 
-117.76812), LatEnd = c(49.3404216917208, 49.3404813977525, 49.3407696999527, 
49.3409218055133, 49.3408834255181, 49.3411571438575, 49.3411444104952, 
49.3412068979592, 49.3413453850968, 49.3414853385912, 49.3414067819334, 
49.3415646398153, 49.3415782191525, 49.3416671210859, 49.341769715577, 
49.3418702688525, 49.3418749917805, 49.3419107724121, 49.3418905356976, 
49.3421097403974, 49.3419881060831), LonEnd = c(-117.76319214364, 
-117.763951728004, -117.76423214535, -117.765201260725, -117.766005995062, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 ggmap

2
推荐指数
1
解决办法
2494
查看次数

使用ggmap绘制多个地图

我可以ggmap用这样的点绘制英国地图:

library(ggmap)
UK_map <- get_map(location = c(-2.65, 53.7), zoom = 5, maptype = "hybrid")
UK_map <- ggmap(ggmap=UK_map, extent = "device", legend = "right")
UK_map + geom_point(data = data.frame(x = -1.81, y = 55.655), aes(x, y), size  = 5)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但是,如果我尝试使用Winston Chang的multiplot功能,那么这一点就会消失.

multiplot <- function(..., plotlist=NULL, cols) {
    require(grid)

    # Make a list from the ... arguments and plotlist
    plots <- c(list(...), plotlist)

    numPlots = length(plots)

    # Make the panel
    plotCols = cols                          # Number of …
Run Code Online (Sandbox Code Playgroud)

maps r ggmap

2
推荐指数
1
解决办法
4105
查看次数

在ggplot地图上覆盖多边形

我正努力在谷歌地图上叠加邻居边界.我正在尝试遵循此代码.我的版本如下.你看到什么明显错了吗?

#I set the working directory just before this...
chicago = readOGR(dsn=".", layer="CommAreas")
overlay <- spTransform(chicago,CRS("+proj=longlat +datum=WGS84"))
overlay <- fortify(overlay)
location <- unlist(geocode('4135 S Morgan St, Chicago, IL 60609'))+c(0,.02)
ggmap(get_map(location=location,zoom = 10, maptype = "terrain", source = "google",col="bw")) +
  geom_polygon(aes(x=long, y=lat, group=group), data=overlay, alpha=0)+
  geom_path(color="red")
Run Code Online (Sandbox Code Playgroud)

任何见解都会非常感激.感谢您的帮助和耐心.

gis r shapefile ggplot2 ggmap

2
推荐指数
1
解决办法
6212
查看次数

R根据需要创建覆盖美国和其他空间图层底图的空间气泡图

我正在尝试生成一个覆盖美国底图的漂亮泡泡图(如果可以的话,我可以导入一个shapefile,但我一直在使用R底图。

library(ggplot2,sp,raster,maps,mapdata,maptools,ggmap,rgeos)
myData = data.frame(name=c("Florida","Colorado","california","Harvard","Yellowstone"),
                lat=c(28.1,39,37,42,44.6), 
                long=c(-81.6,-105.5,-120,-71,-110),
                pop=c(280,156,128,118,202))
Run Code Online (Sandbox Code Playgroud)

使用下面的这段代码,我改编自另一个堆栈溢出帖子(使用卫星地图在R中创建气泡图),可以将气泡图覆盖在美国地图上。但是,渲染速度非常慢,范围太紧,限制在一个盒子中,我无法根据自己的判断将其他图层添加到绘图中,并且底图较厚且视觉上不干净。

xy <- myData[,c("long", "lat")]
nl <- getData('GADM', country="USA", level=1) #raster data, format SpatialPolygonsDataFrame
nl <- gSimplify(nl, tol=0.01, topologyPreserve=TRUE)
# coercing the polygon outlines to a SpatialLines object
spl <- list("sp.lines", as(nl, "SpatialLines"))
SPDF <- SpatialPointsDataFrame(coords=xy, data=myData)
coordinates(myData) <- c("lat", "long")
projection(SPDF)<- "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs +towgs84=0,0,0"
coordinates(SPDF)[1:5,] #retrieves spatial coordinates form the dataframe
bubble(SPDF, "pop", sp.layout=spl, main="This is It!")
Run Code Online (Sandbox Code Playgroud)

我可以使用此代码绘制一个漂亮的底图。我在地图上添加了点,但是这些点的大小没有按照数据中的弹出列来确定。而且我可以在此地图上添加其他图层。但是我可以像使用气泡图一样控制点的大小和符号本身吗?

map(database= "world", ylim=c(45,90), 
    xlim=c(-160,-50), col="grey80", 
    fill=TRUE, projection="gilbert", 
    orientation= c(90,0,225)) …
Run Code Online (Sandbox Code Playgroud)

plot bubble-chart r ggplot2 ggmap

2
推荐指数
1
解决办法
7603
查看次数

如何在r中给出纬度和经度信息显示谷歌地图方向

我和我一起有几个地方的纬度和逻辑信息.这是一个示例:

lat<-c(17.48693,17.49222,17.51965,17.49359,17.49284,17.47077)
long<-c(78.38945,78.39643,78.37835,78.40079,78.40686,78.35874)
Run Code Online (Sandbox Code Playgroud)

我想以某种顺序绘制这些位置(比如上面向量中的第一个元素的lat-long组合将是起点,我需要以相同的顺序行进到最后一个位置),并在R中进行谷歌地图指示.我发现有一个谷歌地图api,我可以从中获取指定位置的谷歌地图截图,在它上面我们需要绘制线条来连接它们.但我需要的是谷歌地图驾驶方向连接位置(而不是ggplot线).请帮忙.

google-maps r rgooglemaps ggmap

2
推荐指数
1
解决办法
3400
查看次数

在ggmap中调整地图中的字体大小

我试图在德国地图上绘制一些点,使用ggmap包,效果很好.但是,我想做一些具体的改变,不知道如何或如果可能的话.

为了制作地图,我执行以下操作(d是具有经度和纬度的数据框):

map <- get_map(location = c(10.25828, 51.11484), zoom = 6, maptype = "terrain")
p <- ggmap(map)
p <- p + scale_x_continuous(limits = c(6.09500,14.95306)) + scale_y_continuous(limits = c(47.39889,55.01250)+c(0,-0.1)) 
p <- p + xlab("Longitude") + ylab("Latitude")
Run Code Online (Sandbox Code Playgroud)

在那张地图上,我然后绘制了一些点.现在,如果我如上所述设置zoom = 6,则地图非常详细,并且会打印许多城市名称以及道路的一些白线.这使得地图看起来有点"拥挤".这是地图的样子: zoom = 6

pdf的大小也很大,如果我想拥有多个地图,这不是很实用.

另一方面,如果我设置zoom = 5,则背景不太详细,显示的道路等较少,文件较小.但是,城市和国家/地区名称的打印字体太大.这是它的样子:

缩放6

所以我的问题是:可以以某种方式获取带有详细信息的地图,如zoom = 5,但是国家和城市名称的字体大小与zoom = 6相同?

提前致谢

google-maps r ggplot2 ggmap

2
推荐指数
1
解决办法
1524
查看次数

ggmap:从Google的地形图中删除国家/地区名称

我正在尝试使用ggmap在地图上绘制点,但我不知道如何从地图的背景中删除国家/地区的名称

library(ggmap)
library(mapproj)
map <- get_map(location = 'middle east', zoom = 4)
read.table("latlon.txt", header = TRUE) -> tbl
plot<-ggmap(map) + geom_point(aes(x = lon, y = lat), color=tbl$color, size=3, data = tbl) + theme(legend.position = "none")+
  #geom_text(aes(label=pop),data=tbl,hjust=0, vjust=0)
  ggsave(plot=plot,height=7.5,width=11, filename="f4 map.pdf", useDingbats=FALSE)
plot(plot)
Run Code Online (Sandbox Code Playgroud)

我想在我的点上启用标签,但背景文本基本上会妨碍.有谁知道如何保留Google地形图但删除国家/地区名称?谢谢!

r ggmap

2
推荐指数
1
解决办法
4735
查看次数

Ggmap"dsk"速率限制

我正在尝试使用R库Ggmap对地图进行地理定位.

location_google_10000 <- geocode(first10000_string, output = "latlon",
    source = "dsk", messaging = FALSE)
Run Code Online (Sandbox Code Playgroud)

问题是我正在使用"dsk" - 数据科学工具包API-因此它没有速率限制为谷歌(限制为每天2500坐标).但是,当我尝试使用包含超过2500的向量运行时,它会弹出以下消息:

Error: google restricts requests to 2500 requests a day for non-business use.
Run Code Online (Sandbox Code Playgroud)

我尝试使用带有1000个地址的dsk运行代码,然后检查是否实际使用了google或dsk api:

> geocodeQueryCheck()
2500 geocoding queries remaining.
Run Code Online (Sandbox Code Playgroud)

所以出于某种原因,它不允许我使用超过2500与"dsk",但我相信它不使用谷歌.

geocoding r geolocation google-geocoding-api ggmap

2
推荐指数
1
解决办法
1071
查看次数

如何在ggmap中获得前N个最大密度点坐标

我有关于热图的问题.我可以通过ggmap可视化热图,并将眼球放在最密集的位置,但我怎样才能得到这些斑点的精确长度和纬度.这是测试代码:

set.seed(1)
mymap <- get_map(location = "Detroit", zoom = 8)
mydata <- data.table(long = runif(min = -84, max = -82.5, n = 100),
                     lat = runif(min = 42, max = 42.7, n = 100))
g <- ggmap(mymap) +
  stat_density2d(data = mydata,
                 aes(x = long, y = lat, fill = ..level..,alpha = ..level..),
                 size = 0.5, bins = 10, geom = "polygon") + 
  scale_alpha_continuous(range(0.1,0.5))
g
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 结果如图所示,有3个地方脱颖而出,但我怎样才能在这些区域的中间得到拉特和长?(红点)

r ggplot2 ggmap

2
推荐指数
1
解决办法
385
查看次数