小编dom*_*_oh的帖子

与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错误绘制形状文件

在过去的几天里,我几乎首先使用R进行映射.我已广泛使用R进行建模等,但之前没有这种工作.我有一些关于shapefile的问题和问题,如何阅读等等.

我已经从澳大利亚统计局下载了形状文件,有许多文件,包括州边界,邮政编码,城市等.形状文件很大,澳大利亚国家边界有大约180万个坐标点,我试过的另一个文件是统计区域,其中有超过800万个.我没有对这个文件做任何事情,因为它对我的R设置来说太大了.

我在里面读了形状文件readShapePoly并将其转换成如此

AUS@data$id = rownames(AUS@data)    
AUS.points = fortify(AUS, region="id")
AUS.df = join(AUS.points, AUS@data, by="id")
Run Code Online (Sandbox Code Playgroud)

一旦我将状态边界形状文件转换SpatialPolygonsDataFrame为常规数据帧,我就成功地绘制了它,但它花了很长时间,细节太大了.我想用thinnedSpatialPoly它来简化它,但它给出了错误:

Error in stopifnot(length(Sr@polygons) == nrow(data)) :trying to get slot "polygons" from an object of a basic class ("NULL") with no slots
Run Code Online (Sandbox Code Playgroud)

哪个谷歌无法帮助我.

我的下一个策略是将其读入SAS并使用proc greduce获取文件并创建密度字段,您可以选择多边形的密度.

proc mapimport out=states datafile='\Digital Boundaries\States\Shape file\STE_2011_AUST.shp';
id ste_code11;    run;
proc greduce data = states out = reduced_states;
id ste_code11;    run;
Run Code Online (Sandbox Code Playgroud)

SAS有垃圾图形,甚至无法为我绘制图形,所以我导出了数据集并用新的密度字段将其读回到R中,我希望将数据框子集化并在我的图中使用.

我现在的问题是,当我去R的情节时,我得到了这个澳大利亚国家边界地图

ggplot(data=states.df, aes(X, Y, group=SEGMENT)) + 
geom_polygon(colour='black', fill='white') + …
Run Code Online (Sandbox Code Playgroud)

r sas ggplot2

8
推荐指数
1
解决办法
2349
查看次数

闪亮的应用程序 - ggplot无法找到数据

我制作了一个闪亮的应用程序,它使用ggmap返回静态地图.但是,当我想覆盖邮政编码边界时,我遇到一个错误,ggplot无法找到数据集.

数据集poa是邮政编码边界的数据框,即具有多边形ID的拉特和隆起.我已经尝试过添加,environment = environment()但这并没有解决我的问题.我知道数据存在,因为我调用print(str(poa))哪些打印到R控制台.

任何人都可以建议我的工作,以便ggplot可以访问poa数据帧?我很抱歉这不是一个非常可重复的例子.

更新:当我使用此代码时,ggplot能够访问poa数据帧:

print(ggmap(map)) + geom_polygon(data = poa, aes(x = LON, y = LAT, group = order), alpha = .5, colour = "black", fill = NA))
Run Code Online (Sandbox Code Playgroud)

但我需要对地图的基础层进行嵌套调用ggplot,当我这样做时ggplot无法找到数据

这是我的server.R代码

我正在使用isolate,因为我在我的ui.R中有一个动作按钮,我只想在点击它时更新绘图.

library(shiny)
library(ggmap)
library(RODBC)

# Define server logic required to summarize and view the selected dataset
shinyServer(function(input, output) {

output$searchString <- renderText({
    if (input$searchButton == 0)
        return()        
    isolate({input$searchString})
})

mapSourceInput <- reactive({
    switch(input$mapSource
           , "google" = "google"
           , "stamen" = "stamen")
})

mapTypeInput <- reactive({ …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 shiny

7
推荐指数
1
解决办法
3205
查看次数

标签 统计

ggplot2 ×3

r ×3

ggmap ×1

sas ×1

shiny ×1