2つの異なるデータセット(x0、y0)、(x1、y1)があります。2つのプロットを作成し、ドロップダウンメニューを使用してそれらから選択する必要があります。
私はこのコードを使用しています:
import plotly
import plotly.graph_objs as go
import random
x0 = [x for x in range(0,20)]
x1 = [x for x in range(5,100)]
y0 = [random.randint(0,20) for x in range(len(x0))]
y1 = [random.randint(0,50) for x in range(len(x1))]
trace1 = go.Scatter(x=x0,y=y0,line=dict(shape='vh'))
trace2 = go.Scatter(x=x1,y=y1,line=dict(shape='vh'))
data = [trace1,trace2]
updatemenus = list([
dict(active=0,
buttons=list([
dict(label = "4 Aug 1",
method = "update",
args= [data[0]]),
dict(label = "4 Aug 2",
method = "update",
args= [data[1]])]))])
layout = dict(title="Dropdown",
showlegend=True,
xaxis=dict(title="Hours"),
yaxis=dict(title="Number"),
updatemenus=updatemenus)
fig=dict(data=data, layout=layout)
plotly.offline.plot(fig)
このコードを使用して、2つのデータセットを1つの領域にプロットしますが、これは実行したくありません。また、ドロップダウンメニューで適切なグラフを選択すると、適切なグラフを読み込めません。
問題は、トレースをに直接割り当てていることですargs
。代わりに、visible
プロパティを使用して、data
表示されるトレースを制御する必要があります。
updatemenus = list([
dict(active=0,
showactive = True,
buttons=list([
dict(label = "4 Aug 1",
method = "update",
args = [{"visible": [True, False]}]), # hide trace2
dict(label = "4 Aug 2",
method = "update",
args = [{"visible": [False, True]}]) # hide trace1
]))])
ページがロードされたときに最初のトレースのみを表示する場合visible
は、2番目のトレースの属性を次のように明示的に設定する必要もありますFalse
。
trace1 = go.Scatter(x=x0,y=y0,line=dict(shape='vh'))
trace2 = go.Scatter(x=x1,y=y1,line=dict(shape='vh'), visible=False)
data = [trace1,trace2]
公式のPlotlyの例を参照してください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加