如何解决如何在Pyvis网络中隐藏节点标签?
我有一个大约100个高度连接的节点的网络。现在,所有标签看起来都很混乱。我试图删除将标签属性设置为label
或None
的{{1}},但是随后显示了ID。是否可以隐藏标签或仅显示所选节点和边的标签?
解决方法
从文档(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)
请注意,这些可能的解决方案未经测试,因此如果它们对您有所帮助,我将很感兴趣。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。