正如标题提示的那样,我正在努力创建一个图表图表,其中有多行是同一个滑块变量的函数。
我使用文档中的点点滴滴一起攻击了一些东西:https://pastebin.com/eBixANqA。这适用于一行。
现在我想在同一个图表中添加更多行,但这是我在努力的地方。 https://pastebin.com/qZCMGeAa。
我得到了PlotlyListEntryError: Invalid entry found in 'data' at index, '0'
Path To Error: ['data'][0]
有人可以帮忙吗?
答案 0 :(得分:0)
看起来您使用https://plot.ly/python/sliders/作为参考,遗憾的是我没有时间测试您的代码,但这应该很容易适应。如果您创建要绘制的每条迹线的方式与以前相同:
trace1 = [dict(
type='scatter',
visible = False,
name = "trace title",
mode = 'markers+lines',
x = x[0:step],
y = y[0:step]) for step in range(len(x))]
我在我的例子中注意到我的数据来自预先定义的列表,你正在使用一个函数,这可能是除了你自己的步长之外你真正需要做的唯一改变。
如果以相同的方式创建第二个跟踪,例如
trace2 = [dict(
type='scatter',
visible = False,
name = "trace title",
mode = 'markers+lines',
x = x2[0:step],
y = y2[0:step]) for step in range(len(x2))]`
然后,您可以将所有数据与以下内容放在一起
all_traces = trace1 + trace2
然后你可以继续绘制它,只要你的布局设置正确(它应该保持不变,从你的单个跟踪示例):
fig = py.graph_objs.Figure(data=all_traces, layout=layout)
py.offline.iplot(fig)
如果跟随https://plot.ly/python/sliders/以使滑块工作,则滑块应控制两条迹线。您可以通过这种方式组合多个数据字典,以便使用同一个滑块控制多个绘图。
我注意到如果你的包含数据的词典列表长度不同,那就会变得极其混乱。