我有一个包含大约 100 个高度连接的节点的网络。现在,所有的标签看起来都很乱。我试图删除将label标签属性设置为Noneor '',但随后显示的是 id。有没有办法隐藏标签或只显示选定节点和边的标签?
1 回答
1
从文档(https://pyvis.readthedocs.io/en/latest/_modules/pyvis/network.html)我看到类的add_node方法Network包含逻辑测试if label。这将评估标签False是否为None空字符串(""True" "
如果上述情况失败,您可以尝试在 中编辑代码add_node,或者(也许最好)定义您自己的代码,该代码Network继承自原始代码并覆盖该add_node方法。也许是这样的:
from pyvis.network import Network
class AbsoluteLabelNetwork(Network):
"""A version of the pyvis.network.Network class that always uses the label provided"""
def add_node(self, n_id, label=None, shape="dot", **options):
"""See parent class for docstr, with the exception that label will always be used"""
assert isinstance(n_id, str) or isinstance(n_id, int)
node_label = label # note: change from package version
if n_id not in self.node_ids:
n = Node(n_id, shape, label=node_label, font_color=self.font_color, **options)
self.nodes.append(n.options)
self.node_ids.append(n_id)
请注意,这些可能的解决方案未经测试,因此如果它们对您有所帮助,我会很感兴趣。
于 2020-09-29T10:11:56.170 回答