标签: ggmap

ggmap错误:GeomRasterAnn是使用不兼容的ggproto版本构建的

我正在使用ggmap,并得到以下错误:

Error: GeomRasterAnn was built with an incompatible version of ggproto.
Please reinstall the package that provides this extension.
Run Code Online (Sandbox Code Playgroud)

我已经安装了ggmap(2.6.1)和ggplot2(2.2.0)的最新版本,但仍然遇到了同样的错误.

r ggplot2 ggmap ggproto

53
推荐指数
3
解决办法
2万
查看次数

在地图上绘制坐标

我试图用R绘制我的坐标.我已经尝试过跟随不同的帖子(R:在世界地图上绘制分组坐标 ; 在R中的谷歌地图绘制多个点的坐标)但我的数据并没有太大成功.

我正在尝试使用我的gps坐标作为彩色圆点(每个区域为特定颜色)来获得世界的平面地图:

area         lat    long
Agullhas    -38,31  40,96
Polar       -57,59  76,51
Tasmanian   -39,47  108,93

library(RgoogleMaps)
lat <- c(-38.31, -35.50) #define our map's ylim
lon <- c(40.96,37.50) #define our map's xlim
center = c(mean(lat), mean(lon))  #tell what point to center on
zoom <- 2 #zoom: 1 = furthest out (entire globe), larger numbers = closer in
terrmap <- GetMap(center=center, zoom=zoom, maptype= "satallite", destfile = "satallite.png")
Run Code Online (Sandbox Code Playgroud)

问题,现在我不知道如何添加我的点,我想为每个区域一种颜色.

谁能帮助我继续前进呢?

我尝试过的另一个选择是:

library(maps)
library(mapdata)
library(maptools)
map(database= "world", ylim=c(-38.31, -35.5), xlim=c(40.96, 37.5), …
Run Code Online (Sandbox Code Playgroud)

maps google-maps r coordinates ggmap

34
推荐指数
2
解决办法
7万
查看次数

ggplot2中的定位器等价物(用于地图)

注意:这个问题是专门用于映射的,但是当我在标准的笛卡尔坐标系中绘图时,我希望能够使用它.

我喜欢基本图形,但也喜欢ggplot2.用于微调图形的我最常用的基本函数之一是locator(n),但这会在ggplot2中产生错误.

library(ggplot2) 
county_df <- map_data('county')  #mappings of counties by state
ny <- subset(county_df, region=="new york")   #subset just for NYS
ny$county <- ny$subregion

ggplot(ny, aes(long, lat, group=group)) +  geom_polygon(colour='black', fill=NA)
locator(1)
Run Code Online (Sandbox Code Playgroud)

现在,grid.locator()作为talkstats.com向我指出的达诚(这里),可以返回一些东西.我只是不知道如何使用那些东西来获得地图坐标.

> grid.locator()
$x
[1] 286native

$y
[1] 133native
Run Code Online (Sandbox Code Playgroud)

单位似乎没有帮助,因为它们不是地图坐标.也许我需要某种转换.

先感谢您.

编辑:(基于DWin的回复)

Dwin有正确的想法,但转换因素有点偏.对此的帮助将不胜感激.在下面的示例中,我在坐标处有一个红点(x = -73&y = 40.855).我把Dwin的响应扔进了一个函数来返回坐标.我希望结果是我输入的坐标,但它们不是.

想法?

require(maps); library(ggplot2); require(grid)

county_df <- map_data('county')  #mappings of counties by state
ny <- subset(county_df, region=="new york")   #subset just for NYS
ny$county <- ny$subregion


NY <- ggplot(ny, aes(long, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 ggmap

26
推荐指数
4
解决办法
5715
查看次数

使用R中的ggmap在get_map中出错

大约90%的时间,在使用get_mapggmap,我收到以下错误.有人可以告诉我为什么吗?

map <- get_map(location = 'Australia', zoom = 4)
Run Code Online (Sandbox Code Playgroud)

在download.file错误(!URL,destfile = destfile,安静=短信,模式= "WB"):无法打开URL" http://maps.googleapis.com/maps/api/staticmap?center=Australia&zoom=4&size= %20640x640&scale =%202&maptype = terrain&sensor = false '另外:警告消息:在download.file(url,destfile = destfile,quiet =!messaging,mode ="wb"):无法打开:HTTP状态为'403 Forbidden'

r ggmap

26
推荐指数
2
解决办法
2万
查看次数

与ggmap的世界地图

我正在使用ggmap并希望有一个以澳大利亚为中心的世界地图,我可以轻松地绘制地理编码点.与其他一些映射包相比,ggmap似乎更容易使用.然而,当我使用下面的代码通过地图时,它会出错.

gc <- geocode('australia')
center <- as.numeric(gc) 
> map <- get_map(location = center, source="google", maptype="terrain", zoom=0)
Error: zoom must be a whole number between 1 and 21
Run Code Online (Sandbox Code Playgroud)

从get_map帮助:"缩放:地图缩放,从0(全世界)到21(建筑物)的整数,默认值10(城市).openstreetmaps限制缩放18,雄蕊地图的限制取决于地图类型. 'auto'自动确定边界框规格的缩放,默认为中心/缩放规格为10."

将缩放更改为1对于get_map而言不是错误,而是用于绘制该地图

map <- get_map(location = center, source="google", maptype="terrain", zoom=1)
ggmap(map)

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) : …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 ggmap

24
推荐指数
2
解决办法
2万
查看次数

多边形以不同的缩放级别很好地裁剪ggplot2/ggmap

我正在玩空间数据集(主要是城市某个区域的多边形),我想根据不同的缩放级别生成不同的视图.当我的绘图边界框大于包含多边形的区域时,一切都很好.但是在放大时,一些多边形会获得位于边界框外部的部分,并且这些多边形的输出会出现问题:边界框外部的多边形点不会显示,从而导致多边形未在边界框限制处被裁剪(正如预期的那样)但不考虑.多边形不完整,多边形只连接图上剩余的点(正常行为,但不是必需的).

一个值得所有讨论的好例子,这是一个问题的演示:

#initialisation
library(ggmap)
require(MASS)

data(zips)

# overview
ggmap(get_map(maptype = "satellite", zoom = 8), extent = "device") +
        geom_polygon(aes(x = lon, y = lat, group = plotOrder),
                data = zips, colour = NA, fill = "red", alpha = .5) +
        geom_path(aes(x = lon, y = lat, group = plotOrder),
                data = zips, colour = "white", alpha = .7, size = .4)

# problematic view    
x11()
ggmap(get_map(maptype = "satellite", zoom = 12), extent = "device") +
        geom_polygon(aes(x = lon, y = …
Run Code Online (Sandbox Code Playgroud)

r polygon ggplot2 ggmap

21
推荐指数
1
解决办法
5217
查看次数

使用ggmap和ggplot2获取带点的地图

我想要一个带有点(和其他geom_*层)的地图.我得到了地图,但是我得到的所有点都是警告:

Message d'avis :
Removed 3 rows containing missing values (geom_point).
Run Code Online (Sandbox Code Playgroud)

这是一个可重现的例子:

library(ggmap)
library(ggplot2)

d <- data.frame(lat=c(50.659631, 50.607213, 50.608129),
                lon=c(3.09319, 3.011473, 3.031529))

Lille <- get_map("Lille,France", zoom=12)

p <- ggmap(Lille)
p <- p + geom_point(data=d, aes(lat, lon))
p
Run Code Online (Sandbox Code Playgroud)

看着输出

ggplot_build(p)
Run Code Online (Sandbox Code Playgroud)

我看到一个带有用于x和y的NA的图层,但我不明白为什么不考虑来自d的数据.

当使用ggplot()而不是ggmap()时,我确实得到了积分.但我确实也需要地图:)

那么,我怎样才能获得带有积分地图呢?

谢谢

r ggplot2 ggmap

18
推荐指数
2
解决办法
3万
查看次数

具有ggmap和ggplot2的国家/地区的行政区域地图

我可以使用以下代码制作美国州级失业率图表.

library(XML)
library(ggplot2)
library(plyr)
library(maps)

unemp <-
  readHTMLTable('http://www.bls.gov/web/laus/laumstrk.htm',
    colClasses = c('character', 'character', 'numeric'))[[2]]

names(unemp) <- c('rank', 'region', 'rate')
unemp$region <- tolower(unemp$region)

us_state_map <- map_data('state')
map_data <- merge(unemp, us_state_map, by = 'region')

map_data <- arrange(map_data, order)

states <- data.frame(state.center, state.abb)

p1 <- ggplot(data = map_data, aes(x = long, y = lat, group = group))
p1 <- p1 + geom_polygon(aes(fill = cut_number(rate, 5)))
p1 <- p1 + geom_path(colour = 'gray', linestyle = 2)
p1 <- p1 + scale_fill_brewer('Unemployment Rate (Jan 2011)', palette …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 ggmap

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

获取具有指定边界坐标的地图

我想从R获得带有RgoogleMaps的地图,具有特定的坐标边界.

我可以调用的是GetMap,并指定一个中心,我必须添加一个缩放级别.一切都很好,除了我没有得到一个与我选择的坐标有界的图像地图.

这是一个例子:

lat <- c(44.49,44.5)                
lon <- c(11.33,11.36)               
center = c(mean(lat), mean(lon))    
zoom <- 14                          
mmap <- GetMap(center = center, zoom=zoom, maptype= "satellite", destfile = "m.png") 
Run Code Online (Sandbox Code Playgroud)

问题是只有中心作为参数传递,因此我看到的整个图像取决于缩放级别.所以,我无法理解我得到的图像的边界是什么.我想要做的是使用我定义的坐标精确限制图像.这是可能的(还有其他地图包)吗?

google-maps r ggplot2 rgooglemaps ggmap

18
推荐指数
2
解决办法
2万
查看次数

ggmap/ggplot2中多个图例的对齐

我试图用两个表示形状和颜色的图例来制作地图(下面的例子中为"Type"和"Org"),并且有图例插图.我可以放置传说,但我希望它们左对齐,以便它们的左边缘对齐.除了相互集中之外,我无法做出任何其他事情:

require(ggplot2)
require(ggmap)
require(grid)
require(mapproj)

data <- data.frame(Org=rep(c("ABCDEFG","HIJKLMNOP","QRSTUVWX"),4)
                   , Type=rep(c("Y","Z"),6), Lat=runif(12,48,54.5)
                   , Long=runif(12,-133.5,-122.5))

osmMap <- get_map(location=c(-134,47.5,-122,55), source = 'osm')

points <- geom_jitter(data=data, aes(Long, Lat, shape=Type
                                     , colour=Org))

legend <- theme(legend.justification=c(0,0), legend.position=c(0,0)
                , legend.margin=unit(0,"lines"), legend.box="vertical"
                , legend.key.size=unit(1,"lines"), legend.text.align=0
                , legend.title.align=0)

ggmap(osmMap) + points + legend
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r ggplot2 ggmap r-grid

17
推荐指数
1
解决办法
4288
查看次数

标签 统计

ggmap ×10

r ×10

ggplot2 ×8

google-maps ×2

coordinates ×1

ggproto ×1

maps ×1

polygon ×1

r-grid ×1

rgooglemaps ×1