使用plotly express,我有以下内容:
fig = px.line(series1, x='timestamp', y='data')
fig.show()
它正常工作。
我想一起绘制多个图,所以我做了:
fig = make_subplots(rows=2, cols=1)
fig.add_trace(px.line(series1, x='timestamp', y='data'), row=1, col=1)
fig.add_trace(px.line(series2, x='timestamp', y='data'), row=1, col=1)
fig.add_trace(px.line(series2, x='timestamp', y='data'), row=2, col=1)
fig.show()
但是我得到了
接收到无效元素,用于的“数据”属性 无效的元素包括:[Figure({ '数据':[{'hoverlabel':{'namelength':0},
尽管
fig = make_subplots(rows=1, cols=2)
fig.add_trace(go.Scatter(x=series1['timestamp'], y=series1['data']), row=1, col=1)
fig.add_trace(go.Scatter(x=series2['timestamp'], y=series2['data']), row=1, col=1)
fig.add_trace(go.Scatter(x=series2['timestamp'], y=series2['data']), row=1, col=2)
fig.show()
将起作用;因此看起来像密谋表达不适用于子图。
我想念什么吗?
另外,作为一个额外的问题:我还没有发现如何为每条迹线指定颜色。
答案 0 :(得分:1)
类似于px.line()
的{{1}}返回图形的Plotly Express(PX)函数。另一方面,make_subplots
接受跟踪对象而不接受图形对象,这就是add_trace()
不起作用的原因。
fig.add_trace(px.line())
和/或make_subplots
参数, PX可以在内部使用facet_row
进行子图。这意味着它与facet_col
兼容,因为您可以在通过make_subplots
创建的图形上调用add_trace(row=r, col=c)
。
本着StackOverflow的精神,我建议将您的“奖励问题”分为一个单独的SO问题。