Python 3.x 使用按钮在Plotly/Python中隐藏注释

Python 3.x 使用按钮在Plotly/Python中隐藏注释,python-3.x,button,label,plotly,networkx,Python 3.x,Button,Label,Plotly,Networkx,所以我用Plotly构建了一个网络图。输出良好。现在我想为网络的每个节点添加标签。为此,我使用了Plotly注释。pos将网络中每个节点的位置保持为{node_id:x,y};G是我的networkx图 layoutAnnotationList = [] for k,p in pos.items(): x = p[0] y = p[1] try: text = G.node[k]['hostname'] except: text

所以我用Plotly构建了一个网络图。输出良好。现在我想为网络的每个节点添加标签。为此,我使用了Plotly注释。pos将网络中每个节点的位置保持为{node_id:x,y};G是我的networkx图

layoutAnnotationList = []
for  k,p in pos.items():
    x = p[0]
    y = p[1]
    try:
        text = G.node[k]['hostname']
    except:
        text = k
    layoutAnnotationList.append( { 'x':x, 'y':y, 'text':text } )
在此之后,我将list LayoutNotationList添加到布局本身

layout = { 'annotations': layoutAnnotationList } 
现在,我已经阅读了如何使用Relayat方法将按钮添加到布局中,但我真的不明白如何使这些按钮显示或隐藏注释

我创建了一个布局按钮列表,我要在网页上显示它们,但我对它们的功能一无所知

layout = { 'annotations': layoutAnnotationList, 'updatemenus':layoutButtons }
有关于如何使用这些的提示吗


谢谢

因此,仔细阅读之后,解决方案是在创建按钮时使用更新方法

layoutButtons = list([
                dict(type="buttons",
                     active=-1,
                     buttons=list([   
                        dict(label = 'Label:On',
                             method = 'update',
                             args = [{'visible': [True, True, True, True]},{'annotations':layoutAnnotationList}]
                             ),
                        dict(label = 'Label:Off',
                             method = 'update',
                             args = [{'visible':[True, True, False, False]},{'annotations':[]}]
                             ),
                            ]
                        )
                     )
                ]   
            )
我是从你那里得到这个主意的。仍然不知道如何解释参数中的{'visible':[True,True,False,False]}字典,但它正在工作。

滑块控件的plotly文档表明{'visible':[True,False…]}字典映射到数据列表,如果为True,则显示我的数据列表的此索引,如果为False,则隐藏我的数据列表的此索引。换句话说,每个数据项应该有一个True/False

在代码示例中,它们最初将数据中每个项目的visible设置为False

数据=[dict 可见=假, 线条=dictcolor='00CED1',宽度=6,
name='由于链接页面上的代码可能会随着时间的推移而更改或删除,因此您应该在此处添加要点并保留引用。否则,您的答案可能在将来无效。