Что такое Bqplot? Пример визуализации данных с помощью библиотеки Bqplot. Введение в пакет Bqplot в Python с примерами.
Bqplot — это библиотека для построения графиков Python, основанная на интерактивной библиотеке визуализации Plotly. Он предоставляет высокоуровневый API для создания интерактивных и настраиваемых визуализаций в блокнотах и веб-приложениях Jupyter. Bqplot позволяет нам создавать богатые и интерактивные визуализации с помощью библиотеки Plotly.js.
Bqplot предлагает широкий спектр типов графиков, включая линейные графики, точечные графики, гистограммы, гистограммы, тепловые карты и многое другое. Он также обеспечивает поддержку интерактивности, такой как панорамирование, масштабирование и чистка. Вы можете создавать сложные визуализации, комбинируя вместе несколько графиков и виджетов.
Одной из ключевых особенностей Bqplot является его интеграция с ноутбуками Jupyter. Он позволяет создавать интерактивные графики непосредственно в среде ноутбука, что позволяет более эффективно исследовать и анализировать данные. Bqplot также поддерживает платформу интерактивных виджетов Jupyter, что означает, что вы можете связывать графики и виджеты вместе для создания динамических визуализаций, которые реагируют на действия пользователя.
История
Библиотека была первоначально разработана Bloomberg LP и впервые выпущена в 2016 году. Мотивация создания Bqplot заключалась в том, чтобы предоставить высокоуровневую библиотеку для построения графиков, которая использует возможности ноутбуков Jupyter и позволяет пользователям создавать интерактивные визуализации непосредственно в среде ноутбука. .
Bqplot был вдохновлен успехом и популярностью библиотеки D3.js, которая предоставляет мощные инструменты для создания визуализации данных в Интернете. Разработчики Bqplot стремились предоставить аналогичную интерактивность и гибкость пользователям Python, уделяя особое внимание интеграции с блокнотами Jupyter.
Библиотека построена на основе Plotly — широко используемой библиотеки с открытым исходным кодом для создания интерактивных визуализаций. Используя Plotly в качестве серверной части, Bqplot может создавать интерактивные визуализации, которые можно отображать и управлять ими непосредственно в блокнотах Jupyter.
Bqplot предоставляет ряд типов графиков, включая линейные графики, точечные графики, гистограммы, гистограммы, тепловые карты и многое другое. Он также поддерживает интерактивные функции, такие как панорамирование, масштабирование и очистка, что позволяет пользователям более эффективно исследовать и анализировать данные.
С момента своего первого выпуска Bqplot завоевал популярность среди специалистов по данным, исследователей и разработчиков, работающих с ноутбуками Jupyter. Библиотека имеет растущее сообщество и продолжает получать обновления и улучшения.
Монтаж
Использование пипа:
pip install bqplot
Использование конды:
conda install -c conda-forge bqplot
Если вы используете JupyterLab ‹= 2:
jupyter labextension install @jupyter-widgets/jupyterlab-manager bqplot
Примеры графиков
Линейный график
import bqplot.pyplot as plt import numpy as np # create data vectors x and y to plot using a Lines mark x = np.linspace(-10, 10, 100) y = np.sin(x) # 1. Create the figure object fig = plt.figure(title="Line Chart") # 2. By default axes are created with basic defaults. If you want to customize the axes create # a dict and pass it to axes_options argument in the marks axes_opts = {"x": {"label": "X"}, "y": {"label": "Y"}} # 3. Create a Lines mark by calling plt.plot function line = plt.plot( x=x, y=y, axes_options=axes_opts ) # note that custom axes options are passed to the mark function # 4. Render the figure using plt.show() (displays toolbar as well) plt.show()
Гистограмма
# first, create data vectors x and y to plot a bar chart x = list("ABCDE") y = np.random.rand(5) # 1. Create the figure object fig = plt.figure(title="Bar Chart") # 2. Customize the axes options axes_opts = { "x": {"label": "X", "grid_lines": "none"}, "y": {"label": "Y", "tick_format": ".0%"}, } # 3. Create a Bars mark by calling plt.bar function bar = plt.bar(x=x, y=y, padding=0.5, axes_options=axes_opts) # 4. directly display the figure object created in step 1 (note that the toolbar no longer shows up) fig
Точечная диаграмма
# first, let's create two vectors x and y x = np.linspace(-10, 10, 25) y = 3 * x + 5 y_noise = y + 10 * np.random.randn(25) # add some random noise to y # 1. Create the figure object fig = plt.figure(title="Scatter and Line") # 3. Create line and scatter marks # additional attributes (stroke_width, colors etc.) can be passed as attributes # to the mark objects as needed line = plt.plot(x=x, y=y, colors=["green"], stroke_width=3) scatter = plt.scatter(x=x, y=y_noise, colors=["red"], stroke="black") # setting x and y axis labels using pyplot functions. Note that these functions # should be called only after creating the marks plt.xlabel("X") plt.ylabel("Y") # 4. render the figure fig
Карта мира
import bqplot.pyplot as plt fig = plt.figure(title="World Map") plt.geo(map_data="WorldMap", colors={"default_color": "steelblue"}) fig
Хороплет
fig = plt.figure(title="Choropleth") plt.scales(scales={"color": bq.ColorScale(scheme="Greens")}) chloro_map = plt.geo( map_data="WorldMap", color={643: 105, 4: 21, 398: 23, 156: 42, 124: 78, 76: 98}, colors={"default_color": "Grey"}, ) fig
Расширенные прогнозы
import bqplot as bq fig = plt.figure(title="Advanced World Map") geo_scale = bq.Orthographic(scale_factor=375, center=[0, 25], rotate=(-50, 0)) plt.scales(scales={"projection": geo_scale}) map_mark = plt.geo( map_data="WorldMap", colors={682: "green", 356: "red", 643: "blue", "default_color": "orange"}, ) fig
Все остальные подробности и больше примеров можно найти здесь
— — —
Почему библиотека Bqplot стала волшебницей?
Потому что данные могут волшебным образом превращаться в увлекательные визуальные иллюзии!
🙂🙂🙂