如何在visjs图形中隐藏边缘标签

How to hide label in edge in visjs graph?

本文关键字:隐藏 边缘 标签 图形 visjs      更新时间:2023-09-26

我想只在边缘被选中时显示标签,是否有一个库方法来做到这一点?

最终我想到有一个存储边缘属性包括标签,这是一个好主意吗?

没有这样的方法。

你能做的是监听selectEdge事件,当一条边被选中时,删除它的标签。当边缘被取消选中时,重新添加它的标签。

我发现这是实现它的最简单的方法:

var options = {
    edges: {
        font: {
            size: 0
        },
        chosen: {
            label: function (values, id, selected, hovering) {
                values.size = 14;
            }
        }
    }
}
var network = new vis.Network(container, data, options);

解释:

设置所有边的字体大小为0。选定边缘的字体大小设置为所需值。

注:

由于某些原因,这种方法不起作用。

看:https://github.com/almende/vis/issues/4112

如果设置了边缘的label字段,则显示标签。没有办法将其配置为不同的行为。要隐藏标签,只需将值移动到隐藏字段,如_labellabel_hidden。然后,当你准备好显示标签时,执行edge.label = edge._label

一个提示:如果你delete edge.label并通过DataSet.update更新它,那么它将不会被删除。您必须将其设置为""null