У меня есть кадр данных 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 = ???
)
В зависимости от того, как хранятся ваши данные, вы можете сделать несколько вещей.
Предполагая, что ваши месяцы хранятся в столбце штампов времени, вы можете сделать что-то подобное, используя 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'
)