Простой линейный график с альтаиром

1

У меня есть кадр данных pandas, который выглядит так:

        Difference
months  
Jan     7552
Feb     8080
Mar     7707
Apr     7718
May     13895
Jun     14423
Jul     14375
Aug     11898
Sep     12326
Oct     12211
Nov     12739
Dec     12927

difference.index

Index(['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct',
       'Nov', 'Dec'],
      dtype='object', name='months')

difference.columns

Index(['Difference'], dtype='object')

Мне просто нужен линейный график, где ось y представляет числовые значения в столбце Разница, и каждый галочка по оси x представляет месяц месяца.

Это должно быть очень близко к тому, что я хочу, но я не уверен, как правильно назначить x. Я думал, что должен уметь делать x = 'months' или x = difference.index, но это ошибка.

alt.Chart( difference ).mark_line().encode(
    y = 'Difference',
    x = ???
)
Теги:
pandas
visualization
altair

1 ответ

1
Лучший ответ

В зависимости от того, как хранятся ваши данные, вы можете сделать несколько вещей.

Предполагая, что ваши месяцы хранятся в столбце штампов времени, вы можете сделать что-то подобное, используя month TimeUnit для извлечения всего месяца с отметки времени:

import pandas as pd
import altair as alt

df = pd.DataFrame({'months': pd.date_range('2018-01-01', periods=12, freq='M'),
                   'Difference': [7552, 8080, 7707, 7718, 13895, 14423, 14375,
                                  11898, 12326, 12211, 12739, 12927]})

alt.Chart(df).mark_line().encode(
    x='month(months):T',
    y='Difference'
)

Изображение 174551

Ещё вопросы

Сообщество Overcoder
Наверх
Меню