如何使用 highcharter 构建组织结构图 [重复]

Posted

技术标签:

【中文标题】如何使用 highcharter 构建组织结构图 [重复]【英文标题】:How to build an Organization Chart with highcharter [duplicate] 【发布时间】:2020-02-20 17:27:32 【问题描述】:

我想使用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'))
  )

【问题讨论】:

【参考方案1】:

组织系列从 v7.1.0 开始添加到 Highcharts,但 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))
  )

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

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

当然,你不需要weight值。

【讨论】:

我检查了github version,在我看来他们更新了 highcharter 以使用 v7.2.0。从 github 安装 dev 版本后,它可以使用,不是吗?但是,我仍然对语法一无所知。使用上面的代码只会产生错误“应将 quosure 环境显式提供为 env”,这似乎与 highcharter 无关。 不幸的是,没有渲染任何情节。我用我使用的代码更新了我的问题。 我在 Highcharter repo 上创建了一张票:github.com/jbkunst/highcharter/issues/567 如果我得到任何反馈,我会告诉你。上面的票你也可以关注 谢谢!我打算去同样的:) 这个问题已经在开发分支上解决了,我自己发布了一个答案。感谢您的努力!【参考方案2】:

感谢@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'))
  )

【讨论】:

以上是关于如何使用 highcharter 构建组织结构图 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

highcharts实现组织机构的点击选中和取消选中事件

如何在 Flutter 应用中使用 HighCharts 飞镖库?

Power BI 如何实现具有组织结构层级的RLS、及多条件RLS

使用 JavaScript 构建组织结构图

如何扩展 ORG 图表的连接器

如何组织项目的目录结构