Эта статья участвует в "Месяце тем Python", подробнее см.Ссылка на мероприятие
В предыдущей статье мы представилиSeaborn, давайте перейдем к третьей библиотеке в нашем списке. Bokeh в первую очередь известен своей интерактивной визуализацией графиков. Bokeh визуализирует свои рисунки с использованием HTML и JavaScript, используя современные веб-браузеры для визуализации элегантных, чистых конструкций новой графики с расширенной интерактивностью.
Установить
Чтобы установить этот тип, введите следующую команду в терминале.
pip install bokeh
График рассеяния
Боке на диаграмме рассеяния можно нарисовать с помощью метода scatter() модуля построения графика. Здесь координаты x и y передаются соответственно.
пример:
# 导入模块
from bokeh.plotting import figure, output_file, show
from bokeh.palettes import magma
import pandas as pd
# 实例化图形对象
graph = figure(title = "Bokeh Scatter Graph")
# 读取数据库
data = pd.read_csv("tips.csv")
color = magma(256)
# 绘制图形
graph.scatter(data['total_bill'], data['tip'], color=color)
# 展示模型
show(graph)
вывод:
линейный график
пример:
# 导入模块
from bokeh.plotting import figure, output_file, show
import pandas as pd
# 实例化图形对象
graph = figure(title = "Bokeh Bar Chart")
# 读取数据库
data = pd.read_csv("tips.csv")
# 提示列的每个唯一值的计数
df = data['tip'].value_counts()
# 绘制图形
graph.line(df, data['tip'])
# 展示模型
show(graph)
вывод:
гистограмма
Бар может иметь горизонтальные и вертикальные полосы двух типов. Каждая функция может быть создана с помощью графического интерфейса соответственно hbar() и vbar().
пример:
# 导入模块
from bokeh.plotting import figure, output_file, show
import pandas as pd
# 实例化图形对象
graph = figure(title = "Bokeh Bar Chart")
# 读取数据库
data = pd.read_csv("tips.csv")
# 绘制图形
graph.vbar(data['total_bill'], top=data['tip'])
# 展示模型
show(graph)
вывод:
Интерактивная визуализация данных
Одной из главных особенностей Боке является придание рисунку интерактивности. Давайте посмотрим на различные взаимодействия, которые можно добавить.
Interactive Legends
click_policyСвойства, чтобы сделать легенду интерактивной. Существует два типа взаимодействия
- Спрятать: скрыть глиф.
- немой: скрывает глиф, чтобы он полностью исчез, с другой стороны, немой глиф просто уменьшает выделение глифа в соответствии с параметром.
пример:
# 导入模块
from bokeh.plotting import figure, output_file, show
import pandas as pd
# 实例化图形对象
graph = figure(title = "Bokeh Bar Chart")
# 读取数据库
data = pd.read_csv("tips.csv")
# 绘制图形
graph.vbar(data['total_bill'], top=data['tip'],
legend_label = "Bill VS Tips", color='green')
graph.vbar(data['tip'], top=data['size'],
legend_label = "Tips VS Size", color='red')
graph.legend.click_policy = "hide"
# 展示模型
show(graph)
вывод:
Добавить виджет
Bokeh предоставляет функции графического интерфейса, аналогичные HTML-формам, таким как кнопки, ползунки, флажки и т. д. Они обеспечивают интерактивный интерфейс для построения графиков, позволяя изменять параметры графика, изменять данные графика и т. д. Давайте посмотрим, как использовать и добавлять некоторые часто используемые виджеты.
кнопка
Этот виджет добавляет в рисунок простой виджет-кнопку. Мы должны передать пользовательскую функцию JavaScript в метод CustomJS() класса модели.
флажок
Добавьте на диаграмму стандартные флажки. Как и в случае с кнопками, мы должны передать пользовательскую функцию JavaScript в метод CustomJS() класса модели.
одна кнопка
Добавляет простой переключатель и принимает пользовательскую функцию JavaScript.
пример:
from bokeh.io import show
from bokeh.models import Button, CheckboxGroup, RadioGroup, CustomJS
button = Button(label="GFG")
button.js_on_click(CustomJS(
code="console.log('button: click!', this.toString())"))
# 复选框和单选按钮的标签
L = ["First", "Second", "Third"]
# 活动参数集默认检查选定的值
checkbox_group = CheckboxGroup(labels=L, active=[0, 2])
checkbox_group.js_on_click(CustomJS(code="""
console.log('checkbox_group: active=' + this.active, this.toString())
"""))
# 活动参数集默认检查选定的值
radio_group = RadioGroup(labels=L, active=1)
radio_group.js_on_click(CustomJS(code="""
console.log('radio_group: active=' + this.active, this.toString())
"""))
show(button)
show(checkbox_group)
show(radio_group)
вывод:
Уведомление:Все эти кнопки откроются на новой вкладке.
Ползунок: добавляет ползунок к рисунку. Также требуется пользовательская функция JavaScript.
Пример:
from bokeh.io import show
from bokeh.models import CustomJS, Slider
slider = Slider(start=1, end=20, value=1, step=2, title="Slider")
slider.js_on_change("value", CustomJS(code="""
console.log('slider: value=' + this.value, this.toString())
"""))
show(slider)
вывод:
Кроме того, доступно больше виджетов, таких как выпадающие меню или виджеты вкладок.
В следующем разделе продолжаем рассказывать о четвертой библиотеке —Plotly
🥇 Резюме серии Python для визуализации данных
- Matplotlib для визуализации данных с помощью Python
- Seaborn для визуализации данных с использованием Python
- Боке для визуализации данных с помощью Python
- Plotly для визуализации данных с помощью Python
🧵 Другие статьи по теме
- 30 руководств и советов по Python
- Операторы Python, выражения и отступы
- Ключевые слова Python, идентификаторы и переменные
- Как писать комментарии и многострочные комментарии в Python
- Изучите преобразование чисел и типов Python на примерах
- Типы данных Python — от базового до продвинутого обучения
- Научит вас, как использовать Python для создания игры про змей
- Объектно-ориентированное программирование на Python — классы, объекты и члены
🍰Рекомендуемые статьи из прошлого:
- 20 советов по Python, которые должен знать каждый
- 100 основных вопросов на собеседовании по Python, часть 1 (1–20)
- 100 основных вопросов на собеседовании по Python, часть II (21–40)
- 100 основных вопросов на собеседовании по Python, часть 3 (41–60)
- 100 основных вопросов на собеседовании по Python, часть 4 (61–80)
- 100 основных вопросов на собеседовании по Python, часть 5 (81–100)
Если вы действительно узнали что-то новое из этой статьи, ставьте лайк, добавляйте в закладки и делитесь с друзьями. 🤗Наконец, не забудьте поддержать ❤ или 📑