JavaRush /Курси /Python SELF UA /Налаштування підписів, легенд та осей для покращення спри...

Налаштування підписів, легенд та осей для покращення сприйняття графіків

Python SELF UA
Рівень 42 , Лекція 0
Відкрита

1. Важливість анотування графіків

Чому важливо додавати підписи, легенди та коментарі до графіків

Сьогодні ми поговоримо про не менш важливу частину візуалізації даних, ніж самі графіки — коментування. Це як приймач у телевізорі: начебто все на місці, але дивитися важко, бо картинка не завжди зрозуміла. Підписів, легенд і коментарів іноді не вистачає, щоб дані ожили й заговорили з нами мовою, зрозумілою людині.

Можете спитати: невже підписи й легенди настільки важливі? Відповідь очевидна: вони — як сіль і перець для графіка. Без них ваш графік може стати складночитаємим, а сенс даних може загубитися. Використовуючи коментарі, ми надаємо графіку додатковий сенс і робимо його більш інтуїтивно зрозумілим.

Підписи й легенди допомагають вашим глядачам швидко зрозуміти, що вони бачать. Уявіть, що ви дивитеся на карту скарбів без вказівників і вас одразу просять знайти шлях до скарбів. Схоже на безумство, чи не так? Те саме стосується графіків без підписів. Ми повинні допомагати глядачам, а не ускладнювати їм життя.

А тепер давайте детальніше розглянемо, як додавати магію коментарів у ваші графіки за допомогою Python та Matplotlib. Готові? Тоді почнемо!

2. Підписи осей

Керування підписами осей за допомогою xlabel, ylabel і title

Перший крок — це назви осей. Процес простий, як два на два. Використовуємо функції xlabel() та ylabel() для додавання підписів до осей X та Y, відповідно. А для заголовка графіка використовуємо title(). Ці функції роблять графік більш структурованим і зрозумілим. Ось простий приклад:

Python

import matplotlib.pyplot as plt

# Дані
x = [0, 1, 2, 3, 4, 5]
y = [0, 1, 4, 9, 16, 25]

# Створення графіка
plt.plot(x, y, color='blue')

# Додавання підписів
plt.xlabel('Час (години)', color='red')
plt.ylabel('Відстань (км)', color='green')
plt.title('Зростання відстані з плином часу', color='gold')

# Показ графіка
plt.show()

Також можна розфарбувати текст і графік у ваші улюблені кольори:

Налаштування шрифту і розміру підписів

Щоб зробити графік більш привабливим, можна змінити розмір, колір і стиль шрифту підписів. У Matplotlib це можна зробити за допомогою параметрів fontsize, fontweight, color та інших.

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]

plt.plot(x, y)

# Налаштування заголовка і підписів з параметрами
plt.title("Приклад графіка", fontsize=16, fontweight="bold", color="navy")
plt.xlabel("Значення X", fontsize=12, color="darkred")
plt.ylabel("Значення Y", fontsize=12, color="darkred")

plt.show()

У цьому прикладі:

  • fontsize задає розмір шрифту.
  • fontweight="bold" робить текст жирним.
  • color змінює колір тексту.

3. Відображення "легенди"

Додавання і налаштування легенди за допомогою функції legend()

Легенда — це не просто міф чи історія, але й важливий інструмент у арсеналі вашого графіка. Вона пояснює, що означають лінії чи стовпці на графіку, і дозволяє розрізняти кілька серій даних. Matplotlib робить це простіше простого. Ось як ви можете додати легенду до вашого графіка:

Python

# Дані
x = [0, 1, 2, 3, 4, 5]
y1 = [0, 1, 4, 9, 16, 25]
y2 = [0, 1, 2, 3, 4, 5]

# Створення графіка
plt.plot(x, y1, label='Квадрат числа')
plt.plot(x, y2, label='Сама величина')

# Додавання підписів
plt.xlabel('Час (години)')
plt.ylabel('Відстань (км)')
plt.title('Порівняння функції')

# Додавання легенди
plt.legend(loc='upper left')

# Показ графіка
plt.show()

Виклик legend() додає легенду у те місце, яке ви вказали. Аргумент loc можна замінити на 'best', щоб Пайтон сам обрав зручне місце (ага, штучний інтелект теж задіяний).

Позиція легенди

Ви можете змінити положення легенди, використовуючи параметр loc. Наприклад:

  • loc="upper right" — верхній правий кут (за замовчуванням).
  • loc="upper left" — верхній лівий кут.
  • loc="lower right" — нижній правий кут.
  • loc="center" — центр.
Python

plt.legend(loc="upper left")

Налаштування розмірів і кольору легенди

Ви можете налаштувати розмір шрифту і кольори легенди за допомогою параметрів fontsize, facecolor і edgecolor.

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y1 = [10, 15, 20, 25, 30]
y2 = [5, 10, 15, 20, 25]

plt.plot(x, y1, label="Лінія 1", color="blue")
plt.plot(x, y2, label="Лінія 2", color="green")

plt.title("Графік із налаштовуваною легендою")
plt.xlabel("Значення X")
plt.ylabel("Значення Y")

# Налаштування легенди
plt.legend(loc="upper left", fontsize=10, facecolor="lightgray", edgecolor="black")

plt.show()

4. Форматування осей

Matplotlib дозволяє налаштувати шкалу, мітки та діапазон значень осей, що може бути корисним для покращення сприйняття графіка.

Зміна діапазону осей

Функції xlim() і ylim() дозволяють задати мінімальні та максимальні значення для осей.

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]

plt.plot(x, y)
plt.xlabel("Значення X")
plt.ylabel("Значення Y")
plt.xlim(0, 6)  # Діапазон осі X від 0 до 6
plt.ylim(5, 35)  # Діапазон осі Y від 5 до 35

plt.show()

Налаштування інтервалу міток

За допомогою функцій xticks() і yticks() можна задати користувацькі мітки для осей.

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]

plt.plot(x, y)
plt.xlabel("Значення X")
plt.ylabel("Значення Y")

# Налаштування міток осі X
plt.xticks([1, 2, 3, 4, 5], ["Один", "Два", "Три", "Чотири", "П'ять"])
plt.show()

Додавання сітки на графік

Сітка допомагає краще орієнтуватися у значеннях на графіку, особливо якщо дані мають багато точок або значень.

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]

plt.plot(x, y)
plt.xlabel("Значення X")
plt.ylabel("Значення Y")
plt.grid(True)  # Додавання сітки

plt.show()

За допомогою plt.grid(True) додається стандартна сітка. Можна також налаштувати її стиль, використовуючи параметри color, linestyle і linewidth.

Python

plt.grid(color="gray", linestyle="--", linewidth=0.5)

5. Додавання анотацій на графік

Анотації дозволяють виділити важливі точки або пояснення до графіка. Метод annotate() допомагає додати текст до певної точки на графіку.

Додавання анотації

Python

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 20, 25, 30]

plt.plot(x, y)
plt.xlabel("Значення X")
plt.ylabel("Значення Y")

# Додавання анотації
plt.annotate("Максимум", xy=(5, 30), xytext=(3, 30),
             arrowprops=dict(facecolor="black", shrink=0.05))

plt.show()

У цьому прикладі:

  • xy=(5, 30) вказує координати точки, яку ми анотуємо.
  • xytext=(3, 30) вказує положення тексту.
  • arrowprops додає стрілку, що вказує на точку.

6. Приклади покращення графіків

Переходимо до практики! Давайте подивимося, як додавання анотацій покращує графік.

Припустимо, у нас є графік, що показує ріст продажів двох різних продуктів по місяцях. Ми хочемо зробити його більш зрозумілим і додати необхідні анотації.

Python

import matplotlib.pyplot as plt

# Місяці і продажі
months = ['Січень', 'Лютий', 'Березень', 'Квітень', 'Травень', 'Червень']
sales_product1 = [100, 120, 130, 150, 170, 190]
sales_product2 = [90, 110, 115, 140, 165, 180]

# Побудова графіка
plt.plot(months, sales_product1, marker='o', label='Продукт 1')
plt.plot(months, sales_product2, marker='s', label='Продукт 2')

# Анотування
plt.xlabel('Місяці')
plt.ylabel('Продажі (шт.)')
plt.title('Ріст продажів по продуктах')
plt.legend(loc='upper left')

# Налаштування анотацій
for i, txt in enumerate(sales_product1):
    plt.annotate(txt, (months[i], sales_product1[i]), textcoords="offset points", xytext=(0,10), ha='center')

for i, txt in enumerate(sales_product2):
    plt.annotate(txt, (months[i], sales_product2[i]), textcoords="offset points", xytext=(0,10), ha='center')

# Показ графіка
plt.show()

Готово, ми додали маленькі яскраві цифри над кожною точкою даних! Такі анотації можуть стати порятунком під час аналізу великих обсягів даних і точок, де кожен погляд на вагу золота.

Ну що ж, здається, ми освоїли анотування графіків з Matplotlib. Ці навички знадобляться вам при створенні звітів і презентацій даних, особливо коли кожне слово цінніше за тисячу чисел. Тож вперед, малюйте, підписуйте і змінюйте світ даних!

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ