我正在使用绘图离线模式创建具有共同x轴的垂直堆叠子图(1列和10行)。我想通过使用复选框或下拉列表来显示/隐藏子图。
以下是我正在使用的示例代码。基本上我需要在渲染后隐藏一些子图。例如,在5个子图中,我想隐藏plot2和plot4。隐藏后,只显示3个子图。因此,不仅仅是试图隐藏数据系列,因为它仍将保留子图空间。
FBSDKGraphRequest(graphPath: "me", parameters: ["fields":"id,name,first_name,email,birthday"]).start(completionHandler: { (connection, result, error) in })
答案 0 :(得分:0)
我不确定您为什么不只是使用legend
来切换跟踪的可见性。无论如何你去,我使用for loops and if conditions
生成组成下拉列表的必要对象,研究代码并让我知道是否有任何问题实现!
import pandas as pd
import numpy as np
import plotly.offline as py_offline
import plotly.graph_objs as go
from plotly import tools
py_offline.init_notebook_mode()
trace = go.Scatter(
x=[1, 2, 3],
y=[4, 5, 6]
)
fig = tools.make_subplots(rows=10, cols=1)
for k in range(10):
fig.append_trace(trace, k+1, 1)
updatemenus=list([
dict(
buttons=[],
direction = 'down',
pad = {'r': 10, 't': 10},
showactive = True,
x = 0,
xanchor = 'left',
y = 1.2,
yanchor = 'top'
),
])
lister = []
for k in range(11):
lister.append(dict(
args=['visible', [True for k in range(10)] if k == 0 else [True if (i+1) == k else False for i in range(10)]],
label='Show Trace ' + str( 'All' if k == 0 else k),
method='restyle'
))
updatemenus[0]['buttons'] = lister
fig['layout']['updatemenus'] = updatemenus
fig['layout'].update(title='subplots')
py_offline.iplot(fig, filename='simple-subplot')