Python + Altair (Vega-Lite): веб-сервер

Я хочу визуализировать некоторые графики на веб-страницах, используя Python 2.7.12 и Altair 1.2.0.

На их примерах легко и понятно:

from altair import *
from altair import Chart, load_dataset

# load built-in dataset as a pandas DataFrame
cars = load_dataset('cars')

chart = Chart(cars).mark_circle().encode(
    x='Horsepower',
    y='Miles_per_Gallon',
    color='Origin',
)

chart.display()  

Это работает в Jupyter Notebook.

Изменение chart.display() на chart.server() (как описано в https://altair-viz.github.io/documentation/displaying.html#displaying-plots-via-a-local-http-server) должно быть достаточно для запуска веб-сервера с использованием HTTPServer Python.

Он запускается, но предоставляемая им страница пуста. Источник есть, но ничего не визуализируется.

Есть идеи почему?


person Alex Poca    schedule 04.05.2017    source источник
comment
У меня точно такая же проблема. Когда я делаю savechart (должен генерировать HTML, как в chart.serve()), он дает правильный файл HTML. Однако я не могу отобразить его в браузере.   -  person titipata    schedule 05.05.2017
comment
Мне удалось воспроизвести эту проблему. См.: github.com/altair-viz/altair/issues/315   -  person Nipun Batra    schedule 04.07.2017
comment
chart.serve() у меня работает как положено (altair 2.1.0). Документация перемещена сюда altair- viz.github.io/user_guide/   -  person joelostblom    schedule 29.06.2018


Ответы (1)


Добавление моего предыдущего комментария в качестве ответа:

chart.serve () работает для меня так, как ожидалось (altair 2.1.0). Документация перемещена сюда https://altair-viz.github.io/user_guide/display_frontends.html?e#working-in-non-notebook-environments

from altair import Chart, load_dataset

# load built-in dataset as a pandas DataFrame
cars = load_dataset('cars')

chart = Chart(cars).mark_circle().encode(
    x='Horsepower',
    y='Miles_per_Gallon',
    color='Origin',
)

chart.serve() 
person joelostblom    schedule 29.01.2021