Как стать автором
Обновить

Комментарии 17

вот это труд, спасибо!!! давно хотел попробовать plotly спасибо!
Не за что.
Библиотек для интерактивной визуализации в Python хватает на самом деле (тот же bokeh, а ещё можно d3js при желании использовать), так что в своё время я сам не мог выбрать и был бы рад такому сборнику.
Вообще, это делалось как небольшой бонусный урок для практикума по Python на степике (надеюсь никто не сочтёт за рекламу, т.к. это некоммерческая история) — stepik.org/course/3356
Но когда я обнаружил, что только кода уже набралось почти 100 ячеек в jupyter notebook'е, то решил опубликовать на Хабр.

P.S. повторюсь, это далеко не всё, что может plotly. Огромное количество видов визуализаций я даже не рассмотрел.

Одно время надо было визуализировать много данных (значения счетчиков за период времени). Начинал с matplotlib, потом перешел на Jupyter/Lab, захотелось интерактивности и перепробовал почти все, что нашлось в интернете, и остановился тоже на plotly. По совокупности легкодоступного функционала, красоты и удобства.

Спасибо! К сожалению сейчас некогда, забил в закладки.
Возможно лучше клонировать на github'е или colab'е ноутбук. Там в принципе всё тоже самое.
Просто огонь! Большое спасибо!

Вместо !pip лучше использовать %pip, чтобы вызвать pip для текущего ядра и случайно не установить пакеты в неправильное виртуальное окружение.

Крутая работа. Спасибо.
А вот как всё это собрать, например, на базе Flask?
Везде примеры находятся только под ноутбуки. А хочется запаблишить на своём сайте и делиться с пользователями.
Можно использовать dash. Это как раз Flask+plotly.
Я делал «для себя» большой сервис-дашборд (по рабочим данным) руками вставляя JSON'ы внутрь страницы, которая генерируется Flask'ом (в статье есть небольшой раздел про JSON с примером файла и html страницы в статике). Всё это запушил в heroku, т.е. по факту оно крутилось не на flask'е, а на gunicorn.
В принципе можно запилить пример как это делается, но не уверен, что на Habr'е такое людям нужно. Мне кажется, те кто доходят до веб сервисов, те уже по этой шпаргалке сами осилят.
Я не прав?

P.S. на stepik есть курс по Flask. Его хватит для овладевания этим движком. А JSON, который генерируется plotly по сутки просто надо вставить как обычную строку. Не реклама, т.к. курс не мой.
на stepik есть курс по Flask

Как называется курс?
В принципе можно запилить пример как это делается, но не уверен, что на Habr'е такое людям нужно.

За всех, конечно же не скажу, но лично мне бы оч помог бы такой пример, это уж точно. Самостоятельно я начал собирать инфу, дошёл до момента, где идёт подсовываение статики и всё на этом. Как эта статика подтягивается, ума не приложу. Сразу думал, что код генерит данные, передаёт в хтмл в переменные, а там уже js перегружает куски графиков. Но, оказалось, что это далеко не так. Ответов не нашёл или сложно, даже не понимал возможно ли это в принципе, и делается ли так в народе. За отсутствием ответов и забросил, к великому своему сожалению. Везде в примерах эти ноутбуки, а кто не в ноутбуках изначально кодил, тот в аутсайдерах.

Займусь некропостингом, вдруг читающим дальше будет интересно )

Оставлю как отправные точки, что
Во-первых, у фигур есть метод write_html позволяющий сохранить созданное в html-текст. Во-вторых есть plotly.offline, который насколько понимаю, делает примерно тоже самое c некоторыми нюансами.

Только plotly.offline уже давно не нужен. Он раньше использовался для того чтобы не тянуть из инета JS библиотеку с сайта плотли.

Спасибо за статью.
Может ли кто-нибудь подсказать такой же пакет отображения, но с обработкой событий нажатия? Например в ссылке на город на карте или точку на графике включался id/ При нажатии на город генерируется событие с передачей id по которому можно из базы взять доп. информацию.
Можно это как-то реализовать?
Я сам не пробовал, но судя по документации Plotly это умеет.
plotly.com/python/click-events
Возможно для ваших задач этого будет недостаточно… Тогда стоит копать в сторону JS и d3js, с их помощью можно наверное уже сгенерированный plotly график «докрутить».
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории