8

我有以下内容,使用 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()

但我得到:

为无效元素的 '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()

将工作; 所以看起来情节表达不适用于子情节。

我错过了什么吗?

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

4

1 回答 1

12

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

于 2019-07-28T00:23:26.643 回答