如何用highcharter建立组织结构图

How to build an Organization Chart with highcharter

我想用 highcharter(或者,可选地,用另一个 R highchart 绘图库)绘制组织结构图。我知道已经有一些关于该主题的问题,但它们似乎已经过时,因为 highchart 现在提供了 organization chart 的可能性。

编辑: 由于 raf18seb 的回复(非常感谢您的见解),我尝试下载 github 版本和 运行 一些反映 sankey 逻辑的代码。但是,没有渲染图:

devtools::install_github("jbkunst/highcharter")
library(highcharter)

highchart() %>%
  hc_chart(type = 'organization') %>%
  hc_add_series(
    data = list(
      list(from = 'Brazil', to = 'Portugal'),
      list(from = 'Brazil', to = 'Spain'),
      list(from = 'Poland', to = 'England'))
  )

Highcharts 从 v7.1.0 开始添加组织系列,但 Highcharter 使用 v7.0.1。

更新 Highcharter 后,您应该可以使用以下语法使用组织结构图:

组织系列继承自Sankey

此 R 代码适用于 Sankey:

library(highcharter)

highchart() %>%
  hc_chart(type = 'sankey') %>%
  hc_add_series(
    data = list(
      list(from = 'Brazil', to = 'Portugal', weight = 5),
      list(from = 'Brazil', to = 'Spain', weight = 2),
      list(from = 'Poland', to = 'England', weight = 2))
  )

所以您需要做的就是将类型:'sankey'更改为类型:'organization'

在 JS 中测试:https://jsfiddle.net/BlackLabel/q8x06jga

当然,你不需要权重值。

感谢@raf18seb 的feature request,目前我们可以构建如下组织结构图:

devtools::install_github("jbkunst/highcharter", ref = "720")
library(highcharter)

highchart() %>%
  hc_chart(type = 'organization') %>%
  hc_add_series(
    data = list(
      list(from = 'Brazil', to = 'Portugal'),
      list(from = 'Brazil', to = 'Spain'),
      list(from = 'Poland', to = 'England'))
  )