【问题标题】:How to display interactive leaflet map in R notebook in colab如何在colab的R笔记本中显示交互式传单地图
【发布时间】:2021-05-16 02:23:51
【问题描述】:

我无法在 colab

解决方法(静态图像)在第二个单元格中。

我期待 r-leaflet 中的答案。

相关blog

【问题讨论】:

    标签: r r-leaflet jupyter-irkernel


    【解决方案1】:

    我带来了这个答案/解决方法 - colab 中的第三个单元格

    if (system.file(package = "leaflet") == '') {
      install.packages("leaflet")
    }
    if (system.file(package = "htmlwidgets") == '') {
      install.packages("htmlwidgets")
    }
    if (system.file(package = "IRdisplay") == '') {
      install.packages("IRdisplay")
    }
    
    library(leaflet)
    library(htmlwidgets)
    library(IRdisplay)
    
    m = leaflet() %>% 
    #addTiles() 
    addTiles(urlTemplate = "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png") # colab compatibility
    
    saveWidget(m, 'demo1.html', selfcontained = TRUE)
    
    IaminColab<-TRUE
    
    if(IaminColab){  # does not work in jupyter
      demo<-readLines("demo1.html")
      demo<-gsub("%","%25",demo)
      demo<-gsub("#","%23",demo)
      demo<-gsub("\"","%22",demo)
      demo<-gsub("'" ,"%27",demo)
      demo<-gsub("\\n" ,"",demo)
      demo<-paste(demo, collapse="")
      display_html(paste0('<iframe src=',"\"data:text/html;charset=UTF-8,",demo," \" height=\"300\" width=\"500\"></iframe>") )
    } else { # does not work in colab
      display_html('<iframe src="demo1.html" width="500" height ="300"></iframe>')
    }
    

    来源: Package leaflet - map doesn't show
    Convert HTML to data:text/html link using JavaScript

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-19
      • 2016-07-04
      • 1970-01-01
      • 1970-01-01
      • 2019-10-28
      • 2021-08-27
      • 2018-09-14
      • 2018-12-03
      相关资源
      最近更新 更多