密谋表达4的子图

时间:2019-07-27 22:27:09

标签: python plotly plotly-express

使用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()

将起作用;因此看起来像密谋表达不适用于子图。

我想念什么吗?

另外,作为一个额外的问题:我还没有发现如何为每条迹线指定颜色。

1 个答案:

答案 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问题。