Python 使用下拉菜单将两个不同的数据集打印到plotly中
我有两个不同的数据集(x0,y0),(x1,y1)。我需要创建两个绘图,并使用下拉菜单在它们之间进行选择 我正在使用以下代码:Python 使用下拉菜单将两个不同的数据集打印到plotly中,python,plotly,Python,Plotly,我有两个不同的数据集(x0,y0),(x1,y1)。我需要创建两个绘图,并使用下拉菜单在它们之间进行选择 我正在使用以下代码: 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
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)
使用这段代码,它将两个数据集绘制到一个区域中,我不想这样做。当我在下拉菜单上选择一个合适的图表时,它只是无法加载合适的图表。问题在于,您直接将跟踪分配给
args
。相反,您应该使用visible
属性来控制数据中哪些记录道可见:
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
属性显式设置为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]
请参阅。是的,这非常有效。非常感谢。我可以问一下active=0代表什么吗?我在文档中找不到。谢谢。active
确定加载页面时选择下拉列表中的哪个条目。因此,现在active=0
意味着在下拉列表中选择了第一个条目4 Aug 1
。您还可以将其设置为-1
,以便不选择任何条目。看见