在绘图 y 轴上拟合 timedelta

时间:2021-03-15 09:20:53

标签: python pandas datetime plotly

Date                Light                   Time_difference             Time_analysis
0   2018-11-17 00:00:00    5000.0                   0 days 00:00:00                         fine
1   2018-11-17 00:03:00    5000.0                   0 days 00:03:00                         fine
2   2018-11-17 00:06:00    5000.0                   0 days 00:03:00                         fine
3   2018-11-17 00:09:00    5000.0                   0 days 00:03:00                         fine
4   2018-11-17 00:12:00    5000.0                   0 days 00:03:00                         fine

482785  2021-02-22 23:59:56 634.4                   0 days 00:00:00                         fine
482786  2021-02-22 23:59:57 574.3                   0 days 00:00:00                         fine
482787  2021-02-22 23:59:58 598.9                   0 days 00:00:00                         fine
482788  2021-02-22 23:59:59 676.9                   0 days 00:00:00                         fine
482789  2021-02-23 00:00:00 5000.0                  0 days 00:03:00                         fine

我正在尝试使用 plotly 来绘制数据框,我想绘制一个图表,其中 x 轴为日期列,y 轴为 Time_difference,以 Time_analysis 列作为键/颜色代码。我尝试了以下代码,但不幸的是,Time_difference 列的格式没有按照我想要的方式出现,而不是“0 天 00:00:00”,它读取的是“1 x 10 的幂” 15',例如。

fig = px.line(closer, x="Date", y="Time_difference", color="Time_analysis", labels={"Time_analysis": "fine", "Time_analysis": "gaps"}) fig.show()

有什么方法可以更改 Time_difference 的格式,使其显示为“0 days 00:00:00”,例如?

谢谢!

1 个答案:

答案 0 :(得分:0)

(正在回答)

您的问题目前解决这个问题的方式是不可重现的。我已经收集了你的一段这样的数据:

closer = pd.DataFrame({'Date': {0: '2018-11-17 00:00:00',
                              1: '2018-11-17 00:03:00',
                              2: '2018-11-17 00:06:00'},
                             'Light': {0: 5000.0, 1: 5000.0, 2: 5000.0},
                             'Time_difference': {0: '0 days 00:00:00',
                              1: '0 days 00:03:00',
                              2: '0 days 00:03:00'},
                             'Time_analysis': {0: 'fine', 1: 'fine', 2: 'fine'}})

运行你的代码会产生这个图:

enter image description here

并且您说您想使用 the Time_analysis column as the key/colour code. 但在我看来您还没有生成使这成为可能的数据样本。如果是这种情况,请按照 here 所述的方式提供新数据集。