Python 如何用plotly绘制离散颜色

Python 如何用plotly绘制离散颜色,python,pandas,plotly,Python,Pandas,Plotly,到目前为止,我的代码是: 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(

到目前为止,我的代码是:

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\u对象

我注意到Plotly Express能够基于变量“color”分割长数据。袖扣还可通过类别管理此功能。但是,为了管理多个子地块上的图例,Plotly.go似乎是唯一的选项

下面是示例数据

,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

所以在环顾四周之后,我发现了一个与条形图的直接比较

下面的代码允许我根据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)

这篇文章没有回答你的问题吗?所以我在寻找与这个问题完全相反的答案。我已经用plotly.express绘制了一个绘图,它可以根据
df['Valve\u ai]
中的值完美地分隔线条/颜色。现在,我希望用plotly.graph\u对象而不是使用plotly express(px)进行同样的绘制。这是因为我需要创建两个子图,根据文档,这在px中是不可能的。如果您在代码段中包含数据样本,并确保它生成fig,我将在一个小时内仔细查看。干杯维斯特兰,我现在找到了解决方案,并将其作为答案!干得好!你为什么不把一些数字加进去,让它更有趣一点呢?