带有 plotly express 4 的子图
subplots with plotly express 4
我有以下内容,使用 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()
但我得到:
Invalid element(s) received for the 'data' property of
Invalid elements include: [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()
会工作;所以看起来 plotly express 不适用于子图。
我错过了什么吗?
另外,作为一个额外的问题:我还没有找到如何为每条轨迹指定颜色。
Plotly Express (PX) 的功能类似于 px.line()
return 数字,就像 make_subplots
一样。另一方面,add_trace()
接受跟踪对象而不是图形对象,这就是 fig.add_trace(px.line())
不起作用的原因。
如果您传入 facet_row
and/or facet_col
参数,PX 可以在内部使用 make_subplots
制作子图。这意味着它与 make_subplots
兼容,因为您可以在通过 px.whatever()
.
创建的图形上调用 add_trace(row=r, col=c)
本着 Whosebug 的精神,我建议将您的 "bonus question" 拆分为一个单独的 SO 问题。
我有以下内容,使用 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()
但我得到:
Invalid element(s) received for the 'data' property of Invalid elements include: [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()
会工作;所以看起来 plotly express 不适用于子图。
我错过了什么吗?
另外,作为一个额外的问题:我还没有找到如何为每条轨迹指定颜色。
Plotly Express (PX) 的功能类似于 px.line()
return 数字,就像 make_subplots
一样。另一方面,add_trace()
接受跟踪对象而不是图形对象,这就是 fig.add_trace(px.line())
不起作用的原因。
facet_row
and/or facet_col
参数,PX 可以在内部使用 make_subplots
制作子图。这意味着它与 make_subplots
兼容,因为您可以在通过 px.whatever()
.
add_trace(row=r, col=c)
本着 Whosebug 的精神,我建议将您的 "bonus question" 拆分为一个单独的 SO 问题。