текст перекладу
Розсіювання матриці за допомогою Plotly
У сучасному світі візуалізація даних — це не просто створення графіків. Це про те, щоб зробити дані цікавими та доступними. Незалежно від того, чи аналізуєте ви дані про продажі, досліджуєте наукові вимірювання чи просто будуєте графіки для аналізу тенденцій, хороша візуалізація може суттєво змінити ситуацію. Якщо ви хочете створювати інтерактивні, високоякісні візуалізації в Python, Plotly — чудовий вибір.
У цій статті ми розглянемо, як почати роботу з Plotly, ознайомимося з основами створення інтерактивних графіків і надамо кілька практичних прикладів, щоб ви могли відразу почати.
Що таке Plotly?
Plotly — це бібліотека для створення графіків з відкритим кодом, яка дозволяє створювати інтерактивні візуалізації, які відповідають стандартам публікаційної якості. Вона підтримує різноманітні мови програмування, але особливо потужна у Python, де вона інтегрується з такими інструментами, як Jupyter Notebooks і Dash для створення веб-застосунків.
Чому варто використовувати Plotly?
- Інтерактивність: Вбудовані можливості для масштабування, панорамування та наведення.
- Універсальність: Створюйте широкий спектр типів графіків, від простих лінійних графіків до 3D-візуалізацій.
- Краса: Пропонує багаті, естетично приємні графіки, які можна налаштувати за бажанням.
Давайте почнемо налаштування Plotly та створення нашого першого графіка.
Налаштування Plotly
Щоб почати, потрібно встановити бібліотеку Plotly. Якщо ви ще не встановили її, зробіть це за допомогою pip:
pip install plotly
Після установки ви зможете відразу почати створювати візуалізації. Але перш ніж перейти до прикладів, давайте розберемо основну структуру графіків Plotly.
Основна структура графіка Plotly
Графіки Plotly зазвичай складаються з двох основних компонентів:
- Дані: Набір даних, який ви хочете візуалізувати.
- Розташування: Візуальні властивості, такі як заголовки, мітки осей та інші параметри стилю.
Розпочнемо з простого лінійного графіка, щоб зрозуміти синтаксис і структуру.
Приклад 1: Створення простого лінійного графіка
У цьому прикладі ми побудуємо лінійний графік, що показує залежність температури від днів тижня.
import plotly.graph_objects as go
# Дані
days = ['Понеділок', 'Вівторок', 'Середа', 'Четвер', 'П'ятниця']
temperature = [22, 24, 19, 23, 25]
# Створення фігури
fig = go.Figure(data=go.Scatter(x=days, y=temperature, mode='lines+markers'))
# Додавання заголовка та міток
fig.update_layout(title="Температура протягом тижня",
xaxis_title="Дні тижня",
yaxis_title="Температура (°C)")
# Показати графік
fig.show()
Розбір коду:
- go.Scatter: Це створює графік розсіяння, але в цьому випадку параметр
mode='lines+markers'
забезпечує показ як точок даних, так і ліній, що з'єднують їх. - updatelayout()_: Налаштовує розташування з заголовками та мітками для осей x і y.
- fig.show(): Відображає графік у вашому веб-браузері (якщо ви використовуєте Jupyter notebook, він буде відображений вбудовано).
Приклад 2: Додавання більшої інтерактивності
Одна з найсильніших особливостей Plotly — це його інтерактивність. Давайте додамо ще кілька інтерактивних функцій до нашого графіка.
текст перекладу
Ми додамо підказки, які відображатимуть додаткову інформацію при наведенні на точки даних.
import plotly.express as px
# Дані
data = {
'Days': ['Понеділок', 'Вівторок', 'Середа', 'Четвер', 'П'ятниця'],
'Temperature': [22, 24, 19, 23, 25],
'Humidity': [60, 65, 70, 55, 60] # Нова характеристика: дані про вологість
}
# Створення фігури
fig = px.line(data, x='Days', y='Temperature', markers=True,
title="Температура проти днів тижня з інформацією про вологість",
labels={"Temperature": "Температура (°C)", "Days": "Дні тижня"})
# Додавання даних для підказок для більшої інтерактивності
fig.update_traces(
hovertemplate="%{x}Температура: %{y}°CВологість: %{customdata[0]}%",
customdata=[data['Humidity']]
)
# Показати графік
fig.show()
Що нового тут?
- px.line(): Plotly Express пропонує високорівневий інтерфейс для створення графіків з мінімумом коду. Ми вказуємо дані, змінні x і y, а також заголовок.
- Hovertemplate: Налаштовує текст, що відображається при наведенні на точку даних. У цьому випадку він показує як значення температури, так і вологості.
- customdata: Дозволяє передавати додаткові дані (вологість у цьому випадку) для підказки.
Приклад 3: Створення стовпчикового графіка
Хоча лінійні графіки чудово підходять для аналізу тенденцій, стовпчикові графіки є відмінними для порівняння категорій. Давайте подивимося, як створити простий стовпчиковий графік.
import plotly.express as px
# Дані для стовпчикового графіка
categories = ['Яблука', 'Банани', 'Вишні', 'Фініки', 'Бузина']
quantities = [12, 30, 18, 8, 25]
# Створення стовпчикового графіка
fig = px.bar(x=categories, y=quantities, title="Кількість фруктів",
labels={"x": "Фрукти", "y": "Кількість"})
# Показати графік
fig.show()
У цьому прикладі Plotly Express значно спрощує створення стовпчикового графіка. Зверніть увагу, як легко додаються заголовки та мітки осей за допомогою мінімуму коду.
Приклад 4: Створення 3D графіка розсіювання
Plotly також підтримує більш складні візуалізації, такі як 3D графіки. Давайте створимо 3D графік розсіювання, щоб візуалізувати залежність між трьома змінними.
import pandas as pd
import plotly.express as px
# Створення деяких прикладів даних
df = pd.DataFrame({
'X': [1, 2, 3, 4, 5, 6, 7],
'Y': [3, 4, 2, 5, 6, 8, 7],
'Z': [1, 2, 3, 4, 5, 6, 7]
})
# Створення 3D графіка розсіювання
fig = px.scatter_3d(df, x='X', y='Y', z='Z', title="3D графік розсіювання")
# Показати графік
fig.show()
Висновок
Plotly робить створення красивих, інтерактивних візуалізацій неймовірно простим. Незалежно від того, чи ви науковець, аналітик чи просто любите вивчати дані, Plotly має щось для кожного. Ми розглянули лише основи, але можливості безмежні.
Тепер, коли ви освоїли основи Plotly, ви можете експериментувати з різними типами графіків, джерелами даних та параметрами стилю, щоб відповідати своїм потребам. Незалежно від того, чи ви створюєте інформаційні панелі, чи просто візуалізуєте невеликий набір даних, Plotly допоможе вам створювати цікаві та інтерактивні візуалізації, які розповідають історію ваших даних.
Дайте мені знати в коментарях, які частини слід покрити далі.
Перекладено з: Plotly … Beautiful alternative to seaborn and matplotlib