使用plotly.express绘制带有'lines + markers'线的交互式图

问题描述 投票:0回答:1

df

                        id      timestamp               data    Date            Start   
timestamp                                   
2020-01-15 06:12:49.213 40250   2020-01-15 06:12:49.213 20.0    2020-01-15      NaN 
2020-01-15 06:12:49.313 40251   2020-01-15 06:12:49.313 19.5    2020-01-15      0.0 
2020-01-15 08:05:10.083 40256   2020-01-15 08:05:10.083 20.0    2020-01-15      1.0 
2020-01-15 08:05:10.183 40257   2020-01-15 08:05:10.183 20.5    2020-01-15      0.0 
2020-01-15 09:01:50.993 40310   2020-01-15 09:01:50.993 21.0    2020-01-15      0.0 
2020-01-15 09:01:51.093 40311   2020-01-15 09:01:51.093 21.5    2020-01-15      0.0 
2020-01-15 09:51:01.890 40336   2020-01-15 09:51:01.890 22.0    2020-01-15      0.0 

我想用plotly.express绘制交互式图形,用Start(是虚拟变量)用mode='lines+markers'上色。但是我无法添加行。目前,使用下面的代码

import plotly.express as px

fig = px.line(df, x="timestamp", y="data", title='xxx')
fig = px.scatter(df, x="timestamp", y="data",color='Start')   
fig.show()

我获得了剧情enter image description here


更新:

尝试:

import plotly.express as px

fig = px.line(x=df['timestamp'], y=df['data'])
fig.add_scatter(x=df['timestamp'], y=df['data'], marker_color=df['Start'])

返回:enter image description here

python pandas numpy matplotlib plotly
1个回答
0
投票

问题是代码中的图形对象被覆盖,即散布图代替了线图,而不是添加到了它。

fig = px.line(x=df['timestamp'], y=df['data'])
fig.add_scatter(x=df['timestamp'], y=df['data'], marker_color=df['start'])
© www.soinside.com 2019 - 2024. All rights reserved.