rMaps: 超級酷的地圖

今日仰視slidify作者Ramnath Vaidyanathan的github頁面發現超酷的rMaps包,抄過來在自己電腦上實驗一下。

下載

  require(devtools)
  install_github('ramnathv/rCharts@dev')
  install_github('ramnathv/rMaps')

繪制美國2010年的各州的犯罪率 Crime Rates (per 100,000) by State at 2010

利用以下的R編碼在Rstudio裏實現上圖效果

  library(rMaps)
  map <- ichoropleth(Crime ~ State, data = subset(violent_crime, Year == 2010))
  map
  map$publish("Crime Rates (per 100, 000) by State across Years") # <- 引號中的將會是生成的動態地圖的網頁名稱
  ## Loading required package: httr
  ## Please enter your github username: ***** # <- 在此處輸入你自己的github用戶名
  ## Please enter your github password: ***** # <- 在此輸入你自己的github用戶密碼
  ## Your gist has been published
  ## View chart at http://rcharts.github.io/viewer/***** # <- 會出現生成的網頁版可互動地圖鏈接

你也可以用下面的編碼將網頁保存爲獨立的html文件(注意:無網絡連接時可能無法正常顯示)

  map$save("mymap.html", cdn = TRUE) # <- 引號中爲保存的目標文件名稱

繪制1960-2010年每年的各州犯罪率 Crime Rates (per 100, 000) by State from 1960-2010

帶滑動條的可互動地圖/Animated Choropleth

編碼:

  ichoropleth(Crime ~ State, data = violent_crime, animate = "Year")

效果:(你可以拖動左上角的滑動條顯示每年的各州犯罪率,越來越高,今年老川上臺估計全線飄高。。。)

上圖的自動播放版/Animated Choropleth(注意左上角出現播放按鈕)

編碼:

    ichoropleth(Crime ~ State, data = violent_crime, animate = "Year", play = TRUE)

效果:

以下为2016年6月2日更新

普通青年用的(伦敦市区)地图:

代码:

  map <- Leaflet$new()
  map$setView(c(51.505, -0.09), zoom = 13)
  map$tileLayer(provider = 'Stamen.Watercolor') # <- 地图颜色为水彩效果
  # map$tileLayer(provider = "OpenStreetMap") # <- 无水彩效果地图
  map$marker(
    c(51.5, -0.09),
    bindPopup = 'Hi. I am a popup'
  )
  map


    library(rMaps)
    library(leaflet)
      map <- Leaflet$new()
      map$setView(c(51.505, -0.09), zoom = 13)
      #map$tileLayer(provider = 'Stamen.Watercolor') # <- 地图颜色为水彩效果
      map$tileLayer(provider = "OpenStreetMap") # <- 无水彩效果地图
      map$marker(
        c(51.5209, -0.1303),
        bindPopup = 'Hi. I am in LSHTM'
      )
      map
      map$save('mychart.html', cdn = TRUE)

黑白色圖: 一般色彩圖:

以下爲自娛自樂

編碼:

    L2 <- Leaflet$new()
    L2$setView(c(35.175776,  137.040663), 13)
    L2$tileLayer(provider = "OpenStreetMap")
    L2$marker(
      c(35.191379, 137.047885),
      bindPopup = 'Hi. I am here. | 快来打我啊!'
    )
    L2

效果:

comments powered by Disqus