导出/下载各种格式的闪亮传单地图?

2024-03-25

我创建了一个闪亮的仪表板来分析芝加哥的犯罪行为。因此,我还制作了芝加哥的传单地图,我们可以根据标记看到芝加哥哪个地区发生了多少犯罪事件。我有三个过滤器小部件(日期、犯罪类型和位置)。基于这 3 个小部件,用户可以随意使用,并且每次都会使用所选输入再次绘制地图。一切都很完美,我只是想添加一个“下载”部分,其中带有标记的当前绘图可以导出为不同的格式(png、pdf ...)。我的仪表板看起来像这样:

仪表板 - 地图页面 https://i.stack.imgur.com/CYylY.png

正如您所看到的,我想让用户选择他想要的导出格式。我尝试了一些代码,但没有成功。

My ui.R:

tabItem(tabName = "map",

      fluidRow(

        column(width = 9,
        # Main plot
        box(
          title = "Chicago Map", 
          status = "danger", 
          solidHeader = TRUE,
          width = NULL,
          height = NULL,
          #tags$style(type = "text/css", "#map {height: calc(100vh - 80px) !important;}"),
          leafletOutput("map",height = "95vh")
        )),

        column(width = 3,
        box(
          title = "Date", 
          status = "primary", 
          solidHeader = TRUE,
          width = NULL,
          #height = 142,
          sliderInput("mapYear", label = "Select Year", min = 2001, max = 2016, step = 1, sep = '', value = c(2001,2016))
        ),

        box(
          title = "Crime Type", 
          status = "primary", 
          solidHeader = TRUE,
          width = NULL,
          selectInput("mapCrimeType", label= "Select Crime Type", choices = unique(cc$Primary.Type), multiple = TRUE)
        ),

        box(
          title = "Location", 
          status = "primary", 
          solidHeader = TRUE,
          width = NULL,
          selectInput("mapLocation", label= "Select Location", choices = unique(cc$Location.Description), multiple = TRUE)
        ),

        box(
          title = "Download", 
          status = "success", 
          solidHeader = TRUE,
          width = NULL,
          radioButtons("mapFormat", "Document format", c("PNG"="png", "EPS"="eps", "PDF"="pdf"), inline = TRUE, selected = "png"),
          downloadButton("mapDownload")
        )
      )
    )
  ),

我的服务器是这样的:

  ### Draw Map ###
  output$map = renderLeaflet({
    m <- leaflet() %>% 
      addProviderTiles(providers$Esri.WorldStreetMap) %>% 
      setView(lng = -87.623177, lat = 41.881832, zoom=11)
  }) 

  reactMap = reactive({
    cc %>%
      filter(Primary.Type %in% input$mapCrimeType &
               Location.Description %in% input$mapLocation &
               Year2 %in% cbind(input$mapYear[1],input$mapYear[2]))
  })

  observe({
    proxy = leafletProxy("map", data = reactMap()) %>%
      clearMarkers() %>%
      clearMarkerClusters() %>%
      addCircleMarkers(clusterOptions = markerClusterOptions(),
                       lng =~ Longitude, lat =~ Latitude, radius = 5, group = 'Cluster', 
                       popup =~ paste('<b><font color="Black">', 'Crime Information', 
                                      '</font></b><br/>', 'Crime Type:', Primary.Type,'<br/>',
                                      'Date:', Date,'<br/>', #'Time:', Time,'<br/>',
                                      'Location:', Location.Description,'<br/>', 'Block:', Block, '<br/>', 'Arrest:', Arrest, '<br/>'))
  })  

  fnMap <- reactive({paste(input$mapCrimeType,input$mapLocation,sep = ".")})
  doMap <- reactive({input$mapFormat})

  # Download current plot
  output$mapDownload <- downloadHandler(
    filename = fnMap,
    content = function(file) {
      mapshot(m, file)
    }
  )

有人有任何想法或建议吗?我很乐意解决这个问题。非常感谢!

更新:有人知道如何解决我的代码吗?其他有类似问题的帖子对我不起作用。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

导出/下载各种格式的闪亮传单地图? 的相关文章

  • 使用facet时ggplot2控制每行的面板数量?

    Is it possible to control the number of panels per row in a ggplot I can only get an equal number of panels on each row
  • 为什么安装的“igraph”包在加载后返回“libicui18n.so.58:无法打开共享对象文件”?

    我试图使用命令 install packages igraph 在 R 中安装 igraph 包 安装后 在测试阶段出现以下错误 测试是否可以加载已安装的包错误 包或命名空间 dyn load file DLLpath DLLpath 中的
  • 如何从类外部更改公共 R6 类方法?

    我希望能够在我的 R6 类中重新定义公共方法 以便它根据该类保存的数据类型进行更改 如下所示 library R6 Simple lt R6Class Simple public list dt mtcars my print functi
  • R:邻接表到邻接矩阵

    Bonjour 我想将邻接列表 3 列 转换为邻接矩阵 在这个论坛中 我找到了多个有关如何将边列表转换为邻接矩阵的示例 我成功地为两列列表做到了这一点 我已经尝试了在网上可以找到的所有解决方案 但似乎我错过了一小步 我尝试过的 我的变量是用
  • 将函数应用于每个列组合

    我有一个数据框n列并希望对每个列应用一个函数组合列 这与如何cor 函数将数据帧作为输入并生成相关矩阵作为输出 例如 X lt data frame A rnorm 100 B rnorm 100 C rnorm 100 cor X 这将生
  • r - 从我的应用程序下载shinyapps代码

    我正在尝试从shinyapps io 在另一台电脑上下载我的shiny 应用程序代码 我按照这个例子 https support rstudio com hc en us articles 204536588 从 shinyapps io下
  • 以计数矩阵作为响应的多项式

    根据帮助multinom 包裹nnet 响应应该是一个因子或具有 K 列的矩阵 它将被解释为每个 K 类的计数 我尝试在第二种情况下使用此函数 但出现错误 这是我所做的示例代码 response lt matrix round runif
  • 如何对工作区中的元素运行循环?

    gt ls 1 A anorex 1 anorexia B byMonth C clotting 8 counts d D d AD DelayByDay delayed glm D93 15 glmout groups h housing
  • 为格子中的每个面板添加不同的独特标签

    很清楚如何在格子中标记面板 https stackoverflow com questions 8508269 how to label panels in lattice using panel text or ltext论据 但是 如果
  • R 中使用 randomForest 进行内存高效预测

    TL DR我想知道使用基于大型数据集 数百个特征 数十万行 构建的随机森林模型执行批量预测的内存有效方法 Details 我正在处理一个大型数据集 内存中超过 3GB 并且想要使用以下方法进行简单的二进制分类randomForest 由于我
  • 使用 plyr daply 将数据帧转换为矩阵

    我正在尝试使用daply函数在plyr包 但我无法让它正确输出 尽管组成矩阵的变量是数字 但矩阵的元素是列表 而不是变量本身 例如 以下是一小部分数据 Month Vehicle Samples 1 Oct 10 31057 256 2 O
  • R igraph - 保存布局?

    我想知道是否可以 保存 igraph 网络的布局 以便其他人能够重现相同的图表 目前 Fruchterman Reingold 算法总是创建一个新的网络 par mfrow c 1 2 g lt erdos renyi game 100 1
  • 如何使用 tidyr 将向量中字符串中的每个字符分隔到一列中

    我想将向量中的每个字符串分成列 但我做不到 library tidyr library dplyr df lt data frame x c abe bas dds eer df gt separate x c A B C sep 1 我想
  • 如何使用 grid.arrange 移动图例位置

    我试图在一页中排列 4 个图 将图例放在底部中心 我用它来获取其中一个图的图例 因为它们对于四个图来说是相同的 get legend lt function myggplot tmp lt ggplot gtable ggplot buil
  • 从 python 中的缩进文本文件创建树/深度嵌套字典

    基本上 我想迭代一个文件并将每行的内容放入一个深层嵌套的字典中 其结构由每行开头的空格数量定义 本质上 目标是采取这样的事情 a b c d e 并将其变成这样的东西 a b c d e Or this apple colours red
  • 计算数据帧 R 中字符串的频率

    我想计算数据框中某些字符串的频率 strings lt c pi pie piece pin pinned post df lt as data frame strings 然后我想计算字符串的频率 counts lt c pi in pi
  • python csv按列转换为字典

    是否可以将 csv 文件中的数据读取到字典中 使得列的第一行是键 同一列的其余行构成列表的值 例如 我有一个 csv 文件 strings numbers colors string1 1 blue string2 2 red string
  • 如何在RcppParallel中调用用户定义的函数?

    受到文章的启发http gallery rcpp org articles parallel distance matrix http gallery rcpp org articles parallel distance matrix 我
  • R Leaflet:添加多边形时传递 popupOptions。

    Within addPolygons 有一个popup参数就像addPopups 功能 区别 我认为 是当弹出窗口创建时addPolygons 可以单击多边形内的任意位置来触发弹出窗口 但是如果addPopups 被使用 单个lng and
  • R 编程中的字符串分割

    目前 下面的脚本将组合的项目代码拆分为特定的项目代码 rule2 lt c MR df 1 lt test grep paste rule2 sep collapse test Name y SpaceName 1 lt function

随机推荐

  • C# - 将“对象”参数转换为该对象的类型?

    C Hi all 我将一个对象传递给一个方法 我想将该对象转换为它的特定类 以便我可以执行它自己的特定方法 我怎样才能做到这一点 Move new Cat Move new Pigeon public void Move object ob
  • 当满足条件时如何退出迭代循环?

    我想迭代一个函数g with iterate 当我运行代码时 循环无限运行 当条件满足时是否有可能跳出循环 就像是if g x gt 100 then stop My code f x iterate g x g x 2 x 只要翻转条件
  • 代码契约:确保未经验证并需要未经验证

    我不确定我是否在这里做错了什么或者是否需要修复 我有一个自定义的 Dictionary 包装类 这是必要的代码片段 public int Count get Contract Ensures Contract Result
  • 最后一页底部流程正文中的最后一个块

    我怎样才能拥有最后的fo block in fo flow正文与最后一页的底部对齐吗 我并不是指每个页面上的页脚部分 没关系 但我希望流程主体中的最后一个块位于最后一页的底部 流体的内容多种多样 我不知道最后一个块部分的高度是多少 有可能以
  • 如何使表格中的文本向左溢出?

    我有一张固定布局的桌子 溢出时 单元格的内容应从左侧而不是右侧剪切 也就是说 如果 TD 的宽度小于文本的宽度 则下面的单元格应显示 67890 而不是 12345 这至少需要在 IE7 中运行 有没有办法在 css 中做到这一点而不需要任
  • Android 中的内存缓存 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在尝试将一个视频存储在内存缓存中
  • 通用图像加载器:内存不足错误

    我正在使用universal image loader 1 6 2 jar 最新的 我正在尝试使用此库下载并缓存该图像 我有 47 张图像要从服务器下载 总共 5 22 Mb 我的最大图像尺寸为 720X480 大小约为 143kb 一切顺
  • 如何使用 webpack 访问全局对象(窗口)?

    我正在尝试使用 JavaScript 将 ActionScript 与 JavaScript 连接起来ExternalInterface和网络包 ExternalInterface只能挑起 call 在全局对象 window 我如何获得 w
  • Firebase 可以与 Swift 框架项目一起使用吗?

    我采取了以下步骤 创建一个全新的快速单视图应用程序 添加一个表示对 Firebase 的依赖关系的 pod 文件 安装 Pod 打开生成的工作区并为模拟器构建 构建成功 然后我重复了这些步骤 除了在步骤 1 中我创建了一个全新的 swift
  • Minio:如何获得正确的链接以在html上显示图像

    我需要从 Minio 存储桶获取图像 但无法显示该图像 我发现问题出在链接上 即使用浏览器也无法打开它 所以 问题来了 GET 净 ERR CONNECTION REFUSED 我用于上传该文件的代码 包主 import context l
  • 如何在for循环中启动10个协程并等待它们全部完成?

    我需要填写数据库中的对象列表 在将值传递给项目之前 我希望所有项目都完成 这里是否有任何调用await 让每个项目等待的简短方法 我想编写干净的代码 可能是一些设计模式或技巧 for x in 0 10 launch withContext
  • 在查询参数中传递数组 Angular HttpClient

    如何使用 Angular HttpClient 形成带有查询参数数组的 URL input ids string 1 2 3 output eg https localhost 8080 cinemas ids 1 ids 2 ids 3
  • 设置 H2 init 运行脚本时出现问题。使用 java 模块化系统时,当脚本不在类路径根文件夹中时找不到文件

    以下有关如何从资源文件夹初始化运行脚本的问题的已接受答案 INIT RUNSCRIPT 和相对路径的问题 https stackoverflow com questions 4490138 problem with init runscri
  • 更改 Volley 超时时间

    我使用 Android 的新 Volley 框架向我的服务器发出请求 但它在获得响应之前超时 尽管它确实响应了 我尝试添加此代码 HttpConnectionParams setConnectionTimeout httpParams 50
  • 非阻塞网络地址解析(gethostbyname 或 getaddrinfo)?

    使用经典的 nsswitch conf 配置 hosts files dns 尝试使用解析名称获取主机名 or 获取地址信息 如果 DNS 没有应答 或配置错误 可能需要一段时间 有没有办法在 nsswitch conf 中配置超时或使用管
  • C# 中的 Xamarin 跨平台应用程序包名称

    有没有办法以编程方式访问 Xamarin 可移植 C 代码中的应用程序包名称 命名空间 版本信息 Like this https stackoverflow com questions 8643221 android how to get
  • 如何在 firestore 中保存日期值

    type date 在 html 中保存为 firestore 中的字符串 在 html 文件中
  • 如何使用 maven 在 WAR、WEB-INF/lib 目录中包含特定的 jar

    这是我的 pom xml 尝试在 WEB INF lib 目录中创建一个包含特定 3 个库的 WAR 文件 我将它们包括在
  • 自定义提交按钮

    如何创建提交按钮 并在其上定义自定义标题以及自定义类样式 你可以使用submit http book cakephp org view 1431 submit or button http book cakephp org view 141
  • 导出/下载各种格式的闪亮传单地图?

    我创建了一个闪亮的仪表板来分析芝加哥的犯罪行为 因此 我还制作了芝加哥的传单地图 我们可以根据标记看到芝加哥哪个地区发生了多少犯罪事件 我有三个过滤器小部件 日期 犯罪类型和位置 基于这 3 个小部件 用户可以随意使用 并且每次都会使用所选