Я пытаюсь использовать Vaex вместе с Altair, но у меня возникли проблемы с передачей фреймов данных Vaex в Altair.
При попытке создать простую линейную диаграмму
alt.Chart(df)\
.mark_line()\
.encode(alt.X('x'), alt.Y('y1'))
Я получаю сообщение об ошибке
[поля] кодирования [а] указаны без типа; тип не может быть автоматически определен, потому что данные не указаны как pandas.DataFrame.
но если я попытаюсь их указать
alt.Chart(df)\
.mark_line()\
.encode(alt.X('x:T'), alt.Y('y1:Q'))
Я получаю сообщение об ошибке
altair.vegalite.v4.api.Chart- ›0, проверка дополнительных свойств
Дополнительные свойства не разрешены ('y1', 'x', 'y2' были неожиданными)
Мне кажется, что есть некоторая проблема с привязкой фрейма данных Vaex к Altair, но я не знаю, как это обойти ...
Вот полный код:
import altair as alt
import numpy as np
import vaex
import datetime
base = datetime.datetime.today()
dates = [base - datetime.timedelta(days=x) for x in range(10)]
y1 = np.sin(range(10))
y2 = np.cos(range(10))
df = vaex.from_arrays(x=dates, y1=y1, y2=y2)
alt.Chart(df)\
.mark_line()\
.encode(alt.X('x:T'), alt.Y('y1:Q')) #.encode(alt.X('x'), alt.Y('y1'))