小编amg*_*amg的帖子

R在多图布局中仅在一个图上绘制插图

我在一个页面上有一系列我想要的图表.我首先使用命令布局来指定我的绘图布局:

layout(matrix(c(1,1,2,2,1,1,2,2,3,4,5,6),3,4,byrow=TRUE))

对于情节1,我有类似的东西:

plot(Easting,Northing, pch=16, col=grey(cex.size)) #The cex.size colours my dots according to some value

我现在想在情节1上画一个插图,但还没有进入情节2.我试着按照代码:

par(fig=c(0.75, 1, 0, 0.25), new = T)
plot(spp.tmp[,1:2], col=cols[spp.tmp[,3]+1], pch=16)
par(fig=c(0,1,0,1))
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为par(fig())命令会覆盖我的布局,插图会显示在我整体图的底角,而不仅仅是在图1的底角.

layout r

5
推荐指数
1
解决办法
2948
查看次数

从 Shiny 下载形状文件

我有一个 Shiny 应用程序,可以读取 gpx 轨迹文件并对其进行缓冲。然后,我希望用户能够将该 shapefile 下载到他们选择的目的地。我一直在尝试使用该downloadHandler功能,但到目前为止我还没有感到高兴。

我创建的 shapefile 的名称为trk_buff. 在 RI 中可以只使用:

my_dsn<-"C:\\Documents\\TrackFiles"
writeOGR(obj=trk_buff, dsn=my_dsn, layer="BufferedTracks", driver="ESRI Shapefile")
Run Code Online (Sandbox Code Playgroud)

我尝试使用 downloadHandler :

  output$downloadData<-downloadHandler(
    filename=function(file){trk_buff},
    content=function(file){
      writeOGR(obj=trk_buff, dsn=file, layer="BufferedTracks", driver="ESRI Shapefile")
    })
Run Code Online (Sandbox Code Playgroud)

但我显然做错了什么,因为什么也没发生......:|

编辑添加 如果我使用操作按钮和文本文件框的组合,我可以获得我想要的行为。但这有点笨拙,并且涉及用户显式写入文件路径而不是搜索它,这可能会导致错误:例如在 ui.RI 中有:

textInput("filepath","Filepath to download data"),
actionButton("act1","Download shapefile")
Run Code Online (Sandbox Code Playgroud)

在server.RI中有:

  action_btn_code <- eventReactive(input$act1, {
    file_path<-input$filepath    
    writeOGR(obj=trk_buff, dsn=paste(file_path,"/Tracks",sep=""), layer="BufferedTracks", 
      driver="ESRI Shapefile", overwrite_layer=TRUE)
  })
Run Code Online (Sandbox Code Playgroud)

r shiny

4
推荐指数
1
解决办法
1518
查看次数

标签 统计

r ×2

layout ×1

shiny ×1