首页 > 解决方案 > 如何在 Python 中使用 Matplotlib 绘制时间线图?

问题描述

我有一个 csv,其中包含特定社交媒体应用程序上的用户活动数据,该 csv 包含最近 30 天的记录我想检索第一天的数据并将其存储在数据框中

数据框看起来像

            From                          To               Status
0   2020-08-01 05:16:00     2020-08-01 05:19:05               N
1   2020-08-01 05:19:05     2020-08-01 05:22:10               Y
2   2020-08-01 05:22:10     2020-08-01 05:23:12               N
3   2020-08-01 06:23:12     2020-08-01 06:42:46               Y
4   2020-08-01 06:42:46     2020-08-01 06:45:51               N

数据框包含 100 行

Y 代表是,用户处于活动状态。N 代表否,用户未激活。

我希望输出看起来像这样 在此处输入图像描述

我看到了一个类似的问题,但无论如何它都帮不了我

标签: pythonmatplotlib

解决方案


对于绘制类似甘特图的图形,有plotlyaltair。我用最简单的“altair”来画这个。您可以在数据结构中绘制图形。

import altair as alt

chart = alt.Chart(df).mark_bar().encode(
    x = 'From',
    x2 = 'To',
    y = alt.Y('Status')
)
chart

在此处输入图像描述


推荐阅读