我刚刚从用纯D3.js可视化作用力反馈图转到了令人惊叹的图分析库JSNetworkX (NetworkX的一个JavaScript端口)。现在我知道JSNetworkX在后台使用D3.js进行可视化,但我不知道如何在实际节点之外获得要显示的标签。我的意思是,我当然可以得到Edge标签,但那是另一回事。在D3.js中,您必须使用实际的SVG文本元素,但这一切似乎都是抽象的。
http://jsnetworkx.org/
我尝试过使用所有不同的标签属性,但最终要么没有标签,要么在Node中间有一个标签。
我发现了一个线程,它似乎引用了一个较旧的版本,但即使更改语法,它也不起作用。
https://github.com/fkling/JSNetworkX/issues/16
我真的很希望能够可视化节点外部的标签,因为在节点内部,它看起来就像一团乱麻。
请帮帮我!哦,请参考最新版本(0.34),因为之前的答案是指旧的折旧版本。
发布于 2019-01-10 00:18:22
好了,为了回答我自己的问题……
基本上看起来只有两个标签:节点标签和边标签。边缘标签看起来沿着链接呈现并且是相当可配置的,
只有一个节点标签,虽然它是一个单独的SVG文本元素,但您似乎无法对其进行足够的控制。使用标签样式,我能达到的最好效果是使用CSS文本对齐属性(' text -anchor':‘中间’,‘主导基线’:‘text-after-edge’)把它放在节点的顶部,然后将节点半径缩小到5。这基本上是我能达到的最接近传统D3图的效果,你可以完全控制标签的位置。
仍然对是否有更好的方法感兴趣,但希望这能帮助人们。
https://stackoverflow.com/questions/53998190
复制相似问题