在Jupyter Notebook上按计划更新菜单负载时如何仅显示一条轨迹?

时间:2019-04-18 07:34:33

标签: python plotly-python

我想使用plotly的{​​{1}}功能显示两个图形。我可以使用updatemenus功能填充和显示数据。但是,在加载图形时,将首先显示两个图形。当图最初加载时,有没有办法只显示一个图?

我在updatemenus上浏览了updatemenus的文档,但是找不到任何可以帮助我实现这一目标的属性。

plotly

加载图时,我只想显示trace28 = go.Bar(x=for1.head()['Name'], y=for1.head()['G'], name='Goals', opacity=0.8 ) trace29 = go.Bar(x=for1.head()['Name'], y=for1.head()['A'], name='Assists', opacity=0.8 ) trace30 = go.Bar(x=for2.head()['Name'], y=for2.head()['G'], name='Goals', opacity=0.8 ) trace31 = go.Bar(x=for2.head()['Name'], y=for2.head()['A'], name='Assists', opacity=0.8 ) updatemenus = list([dict(active=-1, type='buttons', buttons=list([dict(label='2011/12', method='update', args=[dict(visible=[True, True, False, False]), dict(title='<b>Forward Stats 2011/12</b>') ] ), dict(label='2012/13', method='update', args=[{'visible':[False, False, True, True]}, {'title':'<b>Forward Stats 2012/13</b>'} ] ), ]) ), ]) layout = go.Layout(title='<b>Forward Stats</b>', xaxis=dict(title='<b><i>Player Name</b></i>'), yaxis=dict(title='<b><i>Goals/Assists</b></i>'), updatemenus=updatemenus, showlegend=False, barmode='group' ) data = [trace28, trace29, trace30, trace31] fig = go.Figure(data=data, layout=layout) py.iplot(fig) trace28。现在,在绘图加载时会显示所有轨迹。

1 个答案:

答案 0 :(得分:0)

进行跟踪时,可以设置visible = "legendonly"。然后,您可以通过单击图例中的行来切换轨迹。那能满足您的要求吗?

因此您将更改trace30trace31

trace30 = go.Bar(x=for2.head()['Name'],
                 y=for2.head()['G'],
                 name='Goals',
                 opacity=0.8,
                 visible = "legendonly"
                )

trace31 = go.Bar(x=for2.head()['Name'],
                 y=for2.head()['A'],
                 name='Assists',
                 opacity=0.8,
                 visible = "legendonly"
                )

能为您提供所需的功能吗?