在R中在leaflet地图上进行3D条形图可视化

4
我正在使用R和Leaflet(在闪亮的应用程序中)。 我有点数据,想通过地图上的3D图形来可视化 - 就像这样:https://slipiste.wordpress.com/2015/09/29/3d-bar-plot-on-a-map-in-r/ 如果不在leaflet上完成,那么如何做到呢?是否有方法可以做到这一点? 我认为需要将一个形状文件(透明)覆盖在我的leaflet地图上,并在该形状文件上绘制3D Barplot。然而,这似乎是一个混乱的解决方法。但是,我没有找到任何关于这个主题的网站。有什么提示吗?

@TheTime没错。这个需要是交互式的。我猜那就是难点了。我需要leaflet的功能(平移,缩放,它的.js函数),还有3D条形图。我的第一个猜想是与shapefile叠加,但我觉得可能有更优雅的方法 :) - four-eyes
@TheTime 不用ArcGIS!我们使用R和leaflet!我也在想这个如何与透视图配合。Leaflet是从上往下的“直线式”,与我发布的示例完全不同。3D条形图看起来会像简单的正方形,从上往下看。 - four-eyes
栅格图像怎么样? https://rstudio.github.io/leaflet/raster.html - MLavoie
@MLavoie 那会有什么帮助呢? - four-eyes
D3对你是否感兴趣?我知道你可以很容易地在leaflet上覆盖D3,这里有D3条形图的示例:http://bl.ocks.org/emeeks/4531633。这是从这个问题中获取的:http://stackoverflow.com/questions/14301724/how-to-draw-a-3d-bar-chart-on-a-world-map-with-d3-js - Mfbaer
显示剩余2条评论
1个回答

1
几年后,library(mapdeck) 允许您在地图上绘制 3D 条形图。
library(mapdeck)

set_token("MAPBOX_TOKEN") ## you'll need an API token

df <- read.csv(paste0(
  'https://raw.githubusercontent.com/uber-common/deck.gl-data/master/',
  'examples/3d-heatmap/heatmap-data.csv'
))

mapdeck(
  style = mapdeck_style('dark')
  , pitch = 45 
  ) %>%
  add_grid(
    data = df[1:30000, ]
    , lat = "lat"
    , lon = "lng"
    , cell_size = 1000
    , elevation_scale = 50
    , layer_id = "grid_layer"
  )

enter image description here

从v0.2.1006版本开始,您可以使用add_column()函数。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接