Эта статья участвует в "Месяце тем Python", подробнее см.Ссылка на мероприятие
В предыдущей статье мы представилиBokeh, давайте перейдем к четвертой библиотеке в нашем списке. Это последняя библиотека в нашем списке, и вам может быть интересно, почему Plotly. Вот его преимущества -
- Potly имеет функцию наведения, которая позволяет нам обнаруживать любые выбросы или аномалии среди многочисленных точек данных.
- Это позволяет больше настроек.
- Это делает графику более визуально привлекательной.
Установить
Чтобы установить его, введите следующую команду в терминале.
pip install plotly
График рассеяния
Графики рассеяния Plotly можно создать с помощьюscatter()
метод plotly.express. Как и Seaborn, здесь требуется дополнительный параметр данных.
пример:
import plotly.express as px
import pandas as pd
# 读取数据库
data = pd.read_csv("tips.csv")
# 绘制散点图
fig = px.scatter(data, x="day", y="tip", color='sex')
# 显示plot
fig.show()
вывод:
линейный график
Линейные диаграммы в Plotly выглядят интуитивно понятными и представляют собой отличное сочетание plotly, которое управляет различными типами данных и собирает легко стилизованную статистику. Используйте px.line для представления каждого местоположения данных в виде вершины.
пример:
import plotly.express as px
import pandas as pd
# 读取数据库
data = pd.read_csv("tips.csv")
# 绘制散点图
fig = px.line(data, y='tip', color='sex')
# 显示plot
fig.show()
гистограмма
Гистограммы в Plotly можно создавать с помощью метода bar() класса plotly.express.
пример:
import plotly.express as px
import pandas as pd
# 读取数据库
data = pd.read_csv("tips.csv")
# 绘制散点图
fig = px.bar(data, x='day', y='tip', color='sex')
# 显示情节
fig.show()
вывод:
Гистограмма
В plotly гистограммы можно создавать с помощью функции histogram() класса plotly.express.
пример:
import plotly.express as px
import pandas as pd
# 读取数据库
data = pd.read_csv("tips.csv")
# 绘制散点图
fig = px.histogram(data, x='total_bill', color='sex')
# 显示 plot
fig.show()
вывод:
добавить взаимодействие
Также как Bokeh Truelly также предоставляет различные взаимодействия. Давайте обсудим несколько из них.
Создайте раскрывающееся меню: раскрывающееся меню является частью кнопки меню и всегда отображается на экране. Каждая кнопка меню связана с виджетом меню, который отображает параметры кнопки меню при нажатии. В сюжете есть 4 возможных способа изменить диаграмму с помощью метода updatemenu.
- рестайлинг:Изменить данные или атрибуты данных
- ретрансляция:Изменить свойства макета
- Обновить:Изменение свойств данных и макета
- оживить:Запустить или приостановить анимацию
пример:
import plotly.graph_objects as px
import pandas as pd
# 读取数据库
data = pd.read_csv("tips.csv")
plot = px.Figure(data=[px.Scatter(
x=data['day'],
y=data['tip'],
mode='markers',)
])
# 添加下拉菜单
plot.update_layout(
updatemenus=[
dict(
buttons=list([
dict(
args=["type", "scatter"],
label="Scatter Plot",
method="restyle"
),
dict(
args=["type", "bar"],
label="Bar Chart",
method="restyle"
)
]),
direction="down",
),
]
)
plot.show()
вывод:
Кнопка «Добавить»: в сюжете настраиваемые кнопки действий используются для быстрого выполнения действий непосредственно из записи. Пользовательские кнопки можно добавлять в макеты страниц в CRM, маркетинговых и пользовательских приложениях. Есть также 4 возможных метода, которые можно применить к пользовательским кнопкам:
- рестайлинг:Изменить данные или атрибуты данных
- ретрансляция:Изменить свойства макета
- Обновить:Изменение свойств данных и макета
- оживить:Запустить или приостановить анимацию
пример:
import plotly.graph_objects as px
import pandas as pd
# 读取数据库
data = pd.read_csv("tips.csv")
plot = px.Figure(data=[px.Scatter(
x=data['day'],
y=data['tip'],
mode='markers',)
])
# 添加下拉菜单
plot.update_layout(
updatemenus=[
dict(
type="buttons",
direction="left",
buttons=list([
dict(
args=["type", "scatter"],
label="Scatter Plot",
method="restyle"
),
dict(
args=["type", "bar"],
label="Bar Chart",
method="restyle"
)
]),
),
]
)
plot.show()
вывод:
Создайте ползунки и селекторы:
В сюжете ползунок диапазона представляет собой настраиваемый элемент управления вводом диапазона. Он позволяет выбрать значение или диапазон значений между указанными минимальным и максимальным диапазонами. Селектор диапазона — это инструмент для выбора диапазона для отображения на диаграмме. Он предоставляет кнопки для выбора предварительно настроенных диапазонов на графике. Он также предоставляет поля ввода для ручного ввода минимальной и максимальной дат.
пример:
import plotly.graph_objects as px
import pandas as pd
# 读取数据库
data = pd.read_csv("tips.csv")
plot = px.Figure(data=[px.Scatter(
y=data['tip'],
mode='lines',)
])
plot.update_layout(
xaxis=dict(
rangeselector=dict(
buttons=list([
dict(count=1,
step="day",
stepmode="backward"),
])
),
rangeslider=dict(
visible=True
),
)
)
plot.show()
вывод:
резюме
В этой серии руководств мы используем четыре различных модуля построения графиков Python (т.е.Matplotlib,Seaborn,Bokehи Plotly) построили набор данных подсказок. Каждый модуль отображает графики по-своему, каждый модуль имеет свой набор функций, например, Matplotlib обеспечивает большую гибкость за счет написания большего количества кода, а Seaborn, как язык высокого уровня, позволяет людям передавать небольшое количество код. Каждый модуль можно использовать в соответствии с задачей, которую мы хотим выполнить.
🥇 Резюме серии 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)
Если вы действительно узнали что-то новое из этой статьи, ставьте лайк, добавляйте в закладки и делитесь с друзьями. 🤗Наконец, не забудьте поддержать ❤ или 📑