Как построить график временной шкалы с использованием Matplotlib в Python?

#python #matplotlib

#python #matplotlib

Вопрос:

У меня есть csv, который содержит данные об активности пользователя в определенном приложении для социальных сетей, csv содержит записи за последние 30 дней. Я хочу получить данные только за первый день, который я сделал, и сохранить в dataframe

Фрейм данных выглядит примерно так

             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 означает «Нет», пользователь не был активен.

Я хочу, чтобы результат выглядел примерно так введите описание изображения здесь

Я видел подобный вопрос, подобный этому, но он все равно не мог мне помочь

Ответ №1:

Для рисования графиков, подобных диаграмме Ганта, существуют plotly и altair . Я использовал самый простой, ‘altair’, чтобы нарисовать это. Вы можете нарисовать график так, как он есть в структуре данных.

 import altair as alt

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

введите описание изображения здесь