到目前为止,我的代码:
fig2 = plotly.subplots.make_subplots(rows=3, cols=1, shared_xaxes=True)
fig2.append_trace(
go.Scatter(x=df['Date_Time'], y=df["N2O_rSig"]), row=1, col=1)
fig2.append_trace(
go.Scatter(x=df['Date_Time'], y=df["Flow_rSig"]), row=2, col=1)
fig2.append_trace(
go.Scatter(x=df['Date_Time'], y=df["O2_rSig"]), row=3, col=1)
fig2.update_layout(title_text="Stacked Subplots")
fig2.write_html("test_plotly.html")
对于每条迹线,我都希望具有由Valve_ai控制的离散颜色,但是我似乎找不到正确的方法。有没有一种方法可以不必将我的数据重新发送到Plotly.graph_objects。
我注意到Plotly Express能够根据变量“颜色”分割长数据。袖扣还通过类别进行管理。但是,为了在多个子图上管理图例,我似乎是唯一的选择。
这是示例数据
,Unnamed: 0,Date_Time,N,Valve_ai,N2O_rSig,NO_rSig,O2_rSig,CO2_rSig,Flow_rSig
48,57,2020-07-15 00:00:57,58,Bio1 G1,6.33,16.69,20.61,1.0,1.02
49,58,2020-07-15 00:00:58,59,Bio1 G1,6.13,16.62,20.61,1.0,0.96
50,59,2020-07-15 00:00:59,60,Bio1 G1,6.15,16.56,20.6,1.0,0.98
51,60,2020-07-15 00:01:00,61,Bio1 G1,6.12,16.55,20.59,1.0,0.86
52,61,2020-07-15 00:01:01,62,Bio1 G1,6.44,16.68,20.6,1.0,1.07
53,62,2020-07-15 00:01:02,63,Bio1 G1,6.69,16.63,20.59,1.0,0.94
54,64,2020-07-15 00:01:04,65,Bio1 G2,7.28,16.69,20.57,1.0,0.98
55,65,2020-07-15 00:01:05,66,Bio1 G2,7.98,17.06,20.49,1.0,1.05
56,66,2020-07-15 00:01:06,67,Bio1 G2,8.82,17.37,20.4,1.0,0.98
57,67,2020-07-15 00:01:07,68,Bio1 G2,10.03,17.78,20.26,1.0,0.9
58,68,2020-07-15 00:01:08,69,Bio1 G2,13.4,19.36,19.94,1.0,1.02
59,69,2020-07-15 00:01:09,70,Bio1 G2,15.55,20.68,19.77,1.0,0.85
答案 0 :(得分:0)
因此,经过一番环顾,我发现了与条形图的直接比较 on the plotly website
以下代码使我可以基于Valve拆分数据框架,然后遍历每个DF来创建单独的跟踪。
for valve, group in df.groupby("Valve_ai"):
fig.add_trace(go.Scatter(x=group["Date_Time"], y=group["N2O_rSig"], name=valve)