我想用Python中的Plotly创建一个动态图表 - >通过图表中的按钮更改样式选项。因此,plotly提供按钮或drowdownmenus(updatemenus)。我目前的问题是,我想隐藏其中一些按钮,具体取决于哪一个是活动的。
我的示例是一个图表,我可以将图形从线条更改为标记(第一个按钮组),并作为线条的特殊选项,我提供点线,虚线和实线(第二个按钮设置)。 显然,在" Markers"时提供第二个按钮。活跃是没有意义的。所以我想隐藏第二组。但直到现在我还没有找到解决方案。 我正在使用plotly的离线版本。
我很感激任何建议,谢谢。
我的小例子:
import plotly as py
import plotly.graph_objs as go
x_ = [1, 2, 3, 4, 5, 6, 7, 8 , 9, 10]
y_ = [1, 1.2, 1.4, 1.5, 1.6, 1.5, 1.4, 1.4, 1.35, 1.3]
trace_ = go.Scatter(
x = x_,
y = y_,
mode = "lines",
line = dict(
dash = "dot"
)
)
layout_ = go.Layout(
autosize = True
)
updatemenus_ = list([
dict(
buttons = list([
dict(
args=['mode', 'lines'],
label='Lines',
method='restyle'
),
dict(
args=['mode', 'markers'],
label='Markers',
method='restyle'
)
]),
direction = 'left',
pad = {'r': 10, 't': 10},
showactive = True,
type = 'buttons',
x = 0.1,
xanchor = 'right',
y = 1.1,
yanchor = 'top'
),
dict(
buttons = list([
dict(
args=['line', {'dash': 'dot'}],
label='Dotted Line',
method='restyle'
),
dict(
args=['line', {'dash': 'dash'}],
label='Dashed Line',
method='restyle'
),
dict(
args=['line', {'dash': 'solid'}],
label='Solid Line',
method='restyle'
)
]),
direction = 'right',
pad = {'r': 10, 't': 10},
showactive = True,
type = 'buttons',
x = 0.5,
xanchor = 'right',
y = 1.1,
yanchor = 'top'
),
])
layout_['updatemenus'] = updatemenus_
fig = dict(data=[trace_], layout=layout_)
py.offline.plot(fig, filename='MiniExample.html')