Интерактивные дашборды и приложения с Plotly и Dash. Используем полноценный веб-фреймворк в Python на всю мощь - без JavaScript
Покупка
Тематика:
Программирование и алгоритмизация
Издательство:
ДМК Пресс
Автор:
Даббас Элиас
Перевод:
Гинько Александр Юрьевич
Год издания: 2023
Кол-во страниц: 306
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
ВО - Специалитет
ISBN: 978-5-97060-988-0
Артикул: 817287.01.99
Прочитав эту книгу, вы в полной мере освоите фреймворк Dash от Plotly, предоставляющий разработчикам Python блестящие возможности по созданию полноценных интерактивных веб-приложений и дашбордов без знания языка JavaScript.
Вы научитесь создавать различные типы диаграмм; вставлять в приложение разнообразные элементы управления, включая кнопки, выпадающие списки, флажки, календари и т.д., и снабжать приложения динамическими страницами со ссылками. По прочтении книги вы будете обладать необходимыми навыками развертывания полноценных интерактивных приложений и дашбордов, выполнения многоступенчатого рефакторинга кода и оптимизации написанных вами приложений.
Издание адресовано специалистам по работе с данными и аналитикам, желающим больше узнать о своих исходных данных при помощи интерактивных дашбордов.
- Полная коллекция по информатике и вычислительной технике
- Аналитика данных
- Веб-разработка
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для профессионалов
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для профессионалов (сводная)
- Программирование и алгоритмизация
- Программирование на Python
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Элиас Даббас Интерактивные дашборды и приложения с Plotly и Dash
Interactive Dashboards and Data Apps with Plotly and Dash Harness the power of a fully fledged frontend web framework in Python – no JavaScript required Elias Dabbas BIRMINGHAM – MUMBAI
Москва, 2023 Элиас Даббас Интерактивные дашборды и приложения с Plotly и Dash Используем полноценный веб-фреймворк в Python на всю мощь – без JavaScript
УДК 004.4 ББК 32.372 Д12 Д12 Элиас Даббас Интерактивные дашборды и приложения с Plotly и Dash. Используем полноценный веб-фреймворк в Python на всю мощь – без JavaScript / пер. с англ. А. Ю. Гинько. – М.: ДМК Пресс, 2023. – 306 с.: ил. ISBN 978-5-97060-988-0 Прочитав эту книгу, вы в полной мере освоите фреймворк Dash от Plotly, предоставляющий разработчикам Python блестящие возможности по созданию полноценных интерактивных веб-приложений и дашбордов без знания языка JavaScript. Вы научитесь создавать различные типы диаграмм; вставлять в приложение разнообразные элементы управления, включая кнопки, выпадающие списки, флажки, календари и т. д. и снабжать приложения динамическими страницами со ссылками. По прочтении книги вы будете обладать необходимыми навыками развертывания полноценных интерактивных приложений и дашбордов, выполнения многоступенчатого рефакторинга кода и оптимизации написанных вами приложений. Издание адресовано специалистам по работе с данными и аналитикам, желающим больше узнать о своих исходных данных при помощи интерактивных дашбордов. Copyright © Packt Publishing 2021. First published in the English language under the title Interactive Dashboards and Data Apps with Plotly and Dash – (9781800568914). Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-1-80056-891-4 (англ.) Copyright © Packt Publishing, 2021 ISBN 978-5-97060-988-0 (рус.) © Оформление, перевод на русский язык, издание, ДМК Пресс, 2022
Оглавление Предисловие от издательства ..................................................................... 10 Об авторе ....................................................................................................... 11 О рецензенте................................................................................................. 12 Введение ....................................................................................................... 13 Часть I. Построение приложения на Dash ................................................. 17 Глава 1. Знакомство с экосистемой Dash ................................................... 18 Технические требования ..................................................................................18 Настройка окружения ............................................................................................19 Исследование фреймворка Dash и сопутствующих пакетов .........................20 Пакеты, содержащиеся во фреймворке Dash .......................................................21 Введение в базовую структуру приложения Dash ..........................................22 Создание и запуск простого приложения Dash ..............................................23 Добавление HTML и других компонентов в приложение ..............................25 Добавление компонентов HTML в приложение Dash ..........................................26 Проектирование макета и управление темами .............................................28 Темы ........................................................................................................................29 Координатная сетка и чувствительность к изменениям .....................................30 Встроенные компоненты .......................................................................................32 Кодировка цветов ...................................................................................................32 Добавление компонентов Dash Bootstrap в приложение ....................................33 Заключение .......................................................................................................35 Глава 2. Структура приложений Dash ......................................................... 36 Технические требования ..................................................................................36 Использование Jupyter Notebook для запуска приложений Dash..................37 Изоляция функционала для упрощения процесса разработки и отладки .........37 Создание чистой функции на Python ..............................................................39 Знакомство с параметром ID компонентов Dash ................................................40 Использование элементов ввода и вывода .....................................................41 Определение ввода и вывода ................................................................................42 Шаблон функции обратного вызова .....................................................................43 Реализация функции обратного вызова ...............................................................44 Внедрение функции в приложение ......................................................................45 Свойства функций обратного вызова ...................................................................53 Заключение .......................................................................................................55 Глава 3. Работа с объектом Figure ............................................................... 56 Технические требования ..................................................................................56 Введение в объект Figure ..................................................................................57 Знакомство с атрибутом data ...........................................................................59 Знакомство с атрибутом layout........................................................................61 Интерактивное исследование объекта Figure ......................................................62
Оглавление Опции настройки для объекта Figure ...................................................................63 Способы преобразования графиков ................................................................64 Преобразование графиков в HTML .......................................................................64 Работа с настоящим набором данных ..................................................................65 Преобразование данных как важная часть процесса визуализации ..................68 Придание графику интерактивности за счет обратного вызова ........................69 Добавление функционала в приложение .............................................................72 Создание тем для графиков ...................................................................................74 Заключение .......................................................................................................75 Глава 4. Подготовка и преобразование данных. Введение в Plotly Express .............................................................................................. 76 Технические требования ..................................................................................76 Длинный формат данных (tidy) .......................................................................77 Примеры графиков Plotly Express .........................................................................77 Основные атрибуты длинного формата данных (tidy) ........................................80 Роль навыков в области преобразования данных ..........................................81 Исследование исходных файлов ...........................................................................82 Отмена свертывания датафреймов ......................................................................91 Сведение датафреймов ..........................................................................................93 Объединение датафреймов ...................................................................................95 Знакомство с Plotly Express ..............................................................................97 Plotly Express и объекты Figure ............................................................................102 Создание диаграммы Plotly Express на основе набора данных ........................104 Добавление данных и столбцов в набор .............................................................106 Заключение .....................................................................................................107 Часть II. Расширение функционала приложений ....................................109 Глава 5. Интерактивное сравнение данных при помощи столбчатых диаграмм и выпадающих списков .......................................110 Технические требования ................................................................................111 Построение вертикальных и горизонтальных столбчатых диаграмм........111 Создание вертикальных столбчатых диаграмм со множеством значений......118 Связывание столбчатых диаграмм с выпадающими списками ..................119 Разные способы отображения столбчатых диаграмм с несколькими рядами данных .........................................................................................123 Создание датафрейма с данными о доходах ......................................................124 Внедрение изменений в приложение .................................................................128 Использование ячеистой структуры для вывода множественных диаграмм (фасетирование) ......................................................................130 Исследование дополнительных возможностей выпадающих списков (множественный выбор, заместители текста и т. д.) ..............................133 Добавление заместителя текста для выпадающего списка ..............................133 Изменение темы приложения .............................................................................134 Изменение размеров компонентов ....................................................................136 Заключение .....................................................................................................137
Оглавление 7 Глава 6. Исследование переменных при помощи точечной диаграммы и фильтрация наборов данных ............................................. 139 Технические требования ................................................................................140 Различные способы использования точечных диаграмм: маркеры, линии и текст ............................................................................................140 Маркеры, линии и текст .......................................................................................141 Отображение нескольких рядов данных на одной точечной диаграмме .... 144 Настройка цветов на точечной диаграмме ...................................................147 Дискретные и непрерывные переменные .........................................................147 Использование цветов с непрерывными переменными ..................................148 Создание цветовых шкал вручную .....................................................................151 Использование цветов с дискретными переменными .....................................153 Управление наложениями и выбросами при помощи прозрачности, символов и масштаба ...............................................................................156 Прозрачность и размер маркеров .......................................................................157 Использование логарифмических шкал .............................................................158 Знакомство со слайдерами, включая слайдеры диапазонов .......................160 Настройка подписей и значений слайдеров.................................................163 Заключение .....................................................................................................168 Глава 7. Работа с географическими картами и обогащение дашбордов при помощи языка разметки Markdown .............................. 169 Технические требования ................................................................................170 Знакомство с картограммами ........................................................................170 Использование анимации для добавления нового слоя в визуализацию .... 172 Использование функций обратного вызова с картами ...............................174 Создание компонента Markdown...................................................................177 Знакомство с проекциями карты ..................................................................182 Использование точечных карт.......................................................................183 Использование карт Mapbox ..........................................................................185 Другие опции и инструменты для работы с картами ..................................190 Внедрение интерактивной карты в приложение .........................................191 Заключение .....................................................................................................192 Глава 8. Определение частотности данных с помощью гистограмм и построение интерактивных таблиц .......................................................193 Технические требования ................................................................................194 Создание гистограммы ..................................................................................194 Настройка гистограммы, включая изменение количества столбиков и отображение множественных данных ...................................................195 Использование цвета для детализации гистограммы.......................................197 Отображение множественных гистограмм ........................................................198 Добавление гистограммам интерактивности ..............................................201 Создание двумерной гистограммы ...............................................................205 Создание DataTable .........................................................................................207 Настройка отображения таблицы данных (ширина и высота ячеек, отображение текста и т. д.) .......................................................................208
Оглавление Добавление гистограмм и таблиц данных в приложение ...........................210 Заключение .....................................................................................................212 Что мы узнали из первых двух частей книги ...........................................214 Часть III. Развитие приложений. Новый уровень ....................................215 Глава 9. Машинное обучение: пусть данные говорят сами за себя ........216 Технические требования ................................................................................217 Кластеризация данных ...................................................................................217 Поиск оптимального количества кластеров .................................................221 Кластеризация стран по численности населения ........................................224 Подготовка данных с использованием библиотеки scikit-learn..................226 Заполнение пропущенных значений .................................................................227 Масштабирование данных при помощи scikit-learn .........................................228 Создание интерактивного приложения с применением кластеризации по методу k-средних ................................................................................229 Заключение .....................................................................................................234 Глава 10. Ускорение работы приложений с помощью улучшений функций обратного вызова .......................................................................235 Технические требования ................................................................................236 Знакомство с элементом State .......................................................................236 Различия между элементами Input и State ........................................................237 Создание взаимосвязанных компонентов ...................................................241 Добавление пользователем динамических компонентов в приложение .... 246 Введение в шаблонные обратные вызовы ....................................................248 Заключение .....................................................................................................253 Глава 11. Ссылки и многостраничные приложения ................................255 Технические требования ................................................................................256 Знакомство с компонентами Location и Link ...............................................256 Работа с компонентом Link .................................................................................257 Разбор ссылок и использование их составляющих для изменения приложения ..............................................................................................259 Адаптирование приложения под множественные макеты .........................260 Отображение содержимого на основе ссылки ...................................................263 Добавление динамически сгенерированных ссылок в приложение ..........264 Внедрение в приложение интерактивности на основе ссылок ...................265 Заключение .....................................................................................................268 Глава 12. Развертывание приложения ......................................................269 Технические требования ................................................................................270 Основы рабочего процесса разработки, развертывания и обновления приложений ..............................................................................................270 Аренда виртуального сервера и настройка аккаунта ..................................272 Подключение к серверу при помощи Secure Shell (SSH) .............................274 Запуск приложения на сервере ......................................................................276
Оглавление 9 Настройка и запуск приложения через WSGI-сервер ..................................279 Настройка и конфигурирование веб-сервера ..............................................280 Поддержка приложения и его обновление ...................................................282 Исправление ошибок и внесение изменений в приложение ...........................282 Обновление пакетов Python ................................................................................283 Поддержка сервера ...............................................................................................284 Развертывание и масштабирование приложений Dash с помощью Dash Enterprise ......................................................................285 Инициализация приложения ..............................................................................285 Создание приложения (необязательная фаза) ...................................................286 Подготовка папки проекта ..................................................................................286 Развертывание приложения в Dash Enterprise ...................................................287 Заключение .....................................................................................................288 Глава 13. Следующие шаги .........................................................................290 Технические требования ................................................................................290 Развитие навыков в области анализа и подготовки данных .......................291 Исследование новых техник визуализации ..................................................292 Знакомство с другими компонентами Dash .................................................293 Создание собственных компонентов Dash ...................................................293 Реализация и визуализация моделей машинного обучения ......................294 Повышение эффективности и использование инструментов для работы с большими данными ...........................................................294 Масштабирование с Dash Enterprise .............................................................298 Dash Design Kit ......................................................................................................299 App Manager ..........................................................................................................299 Snapshot Engine ....................................................................................................299 Повышение производительности с помощью Job Queue ..................................300 Корпоративная безопасность ..............................................................................300 Консультационная служба ...................................................................................300 Заключение .....................................................................................................300 Предметный указатель ...............................................................................302
Предисловие от издательства Отзывы и пожелания Мы всегда рады отзывам наших читателей. Расскажите нам, что вы думаете об этой книге – что понравилось или, может быть, не понравилось. Отзывы важны для нас, чтобы выпускать книги, которые будут для вас максимально полезны. Вы можете написать отзыв на нашем сайте www.dmkpress.com, зайдя на страницу книги и оставив комментарий в разделе «Отзывы и рецензии». Также можно послать письмо главному редактору по адресу dmkpress@gmail.com; при этом укажите название книги в теме письма. Если вы являетесь экспертом в какой-либо области и заинтересованы в написании новой книги, заполните форму на нашем сайте по адресу http://dmkpress. com/authors/publish_book/ или напишите в издательство по адресу dmkpress@gmail. com. Список опечаток Хотя мы приняли все возможные меры для того, чтобы обеспечить высокое качество наших текстов, ошибки все равно случаются. Если вы найдете ошибку в одной из наших книг – возможно, ошибку в основном тексте или программном коде, – мы будем очень благодарны, если вы сообщите нам о ней. Сделав это, вы избавите других читателей от недопонимания и поможете нам улучшить последующие издания этой книги. Если вы найдете какие-либо ошибки в коде, пожалуйста, сообщите о них главному редактору по адресу dmkpress@gmail.com, и мы исправим это в следующих тиражах. Нарушение авторских прав Пиратство в интернете по-прежнему остается насущной проблемой. Издательства ДМК Пресс и Packt Publishing очень серьезно относятся к вопро сам защиты авторских прав и лицензирования. Если вы столкнетесь в интернете с незаконной публикацией какой-либо из наших книг, пожалуйста, пришлите нам ссылку на интернет-ресурс, чтобы мы могли применить санкции. Ссылку на подозрительные материалы можно прислать по адресу электронной почты dmkpress@gmail.com. Мы высоко ценим любую помощь по защите наших авторов, благодаря которой мы можем предоставлять вам качественные материалы.