如何使用 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 构建组织结构图 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Flutter 应用中使用 HighCharts 飞镖库?