我如何切换Sankey链接(连同节点和标签)的可见性?我希望用户通过单击节点来逐步展开节点。完全展开时,该图将有大约5个级别和大约10个列。第一次加载时的默认视图显示大约6列和4个级别。
1.我可以操作数据并将权重设置为0以隐藏所有3个数据(节点、链接、标签)。
1.我可以在节点中添加一个className并使用“display:none”(这对所有3个节点都有效吗?)
1.这里有一个类似的question关于组织结构图。我可以修改解决方案到Sankey吗?
我已经尝试了第一个选项。它工作得很好-隐藏所有3个(节点,链接,标签)。但是,为了使它工作,我需要查询数据库每次和重新绘制(重新加载)图表。我正在做API调用和操纵json。这是不是太多的API调用或有一个更好的方法来做到这一点?
与第三个选项相比,第二个选项看起来更清晰,因为我比highcharts.js更了解CSS。(尽管我倾向于避免级联样式:)
第三个选项看起来很乏味,因为我需要了解这些库是如何工作的。但也许这是一个很好的解决方案,那么我毫不怀疑投入时间。虽然,给出的例子并不是很好地工作。
避免开发和定制、功能、export.js、响应式设计等问题的最佳解决方案是什么?
下面是所需视图的小提琴:link
第一个
1条答案
按热度按时间ujv3wf0j1#
我准备了一个演示的基础上,从SO的职位,隐藏分支似乎是一个很好的方法。
第一个
演示:https://jsfiddle.net/BlackLabel/sm01jtof/1/
编辑
更新了演示,以使用更新方法显示/隐藏sankey图中的节点。
演示:https://jsfiddle.net/BlackLabel/80ruyxdq/4/