带有情节表达的子图 4

Tho*_*mas 8 python plotly plotly-express

我有以下内容,使用 plotly express:

fig = px.line(series1, x='timestamp', y='data')
fig.show()
Run Code Online (Sandbox Code Playgroud)

它工作正常。

我想一起制作多个图,所以我做了:

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()
Run Code Online (Sandbox Code Playgroud)

但我得到:

为无效元素的 'data' 属性接收到的无效元素包括:[Figure({ 'data': [{'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()
Run Code Online (Sandbox Code Playgroud)

将工作; 所以看起来 plotly express 不适用于子图。

我错过了什么吗?

另外,作为一个额外的问题:我还没有找到如何为每个跟踪指定颜色。

nic*_*ten 10

Plotly Express (PX) 函数就像px.line()返回数字一样,就像make_subplots那样。另一方面,add_trace()接受跟踪对象而不是图形对象,这就是为什么fig.add_trace(px.line())不起作用。

make_subplots如果传入facet_row和/或facet_col参数,PX 可以在内部使用子图。这意味着它与make_subplots您可以调用add_trace(row=r, col=c)通过创建的图形兼容px.whatever()

本着 StackOverflow 的精神,我建议将您的“奖金问题”拆分为一个单独的 SO 问题。