【问题标题】:How to hide node labels in pyvis network?如何在 pyvis 网络中隐藏节点标签?
【发布时间】:2020-12-01 10:52:06
【问题描述】:

我的网络包含大约 100 个高度连接的节点。现在,所有的标签看起来都很乱。我试图删除label 将标签属性设置为None'',但随后显示的是id。有没有办法隐藏标签或只显示选定节点和边的标签?

【问题讨论】:

    标签: pyvis


    【解决方案1】:

    从文档 (https://pyvis.readthedocs.io/en/latest/_modules/pyvis/network.html) 我看到Network 类的add_node 方法包含逻辑测试if label。如果标签是 None 或空字符串 (""),这将评估为 False,但如果您尝试使用除了空格 " " 来近似空字符串,则评估为 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)
    

    请注意,这些可能的解决方案未经测试,如果它们对您有帮助,我会很感兴趣。

    【讨论】:

    • 谢谢,我会试试的!
    猜你喜欢
    • 2023-02-08
    • 2023-02-21
    • 2022-06-14
    • 2022-06-17
    • 2013-11-25
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    相关资源
    最近更新 更多