Перейти к содержимому

Визуализация данных с помощью диаграммы рассеяния Matplotlib в Python

В основе анализа и визуализации данных лежит способность эффективно передавать информацию так, чтобы она была легко понятна другим. Одним из инструментов, делающих это возможным, является библиотека Matplotlib для Python, которая широко используется для создания различных диаграмм и графиков. В частности, диаграмма рассеяния (scatter plot) — это эффективный способ наглядного отображения взаимосвязей в данных. В этой статье мы рассмотрим, как создать диаграмму рассеяния в Matplotlib, и выделим некоторые лучшие практики её использования.

Введение в диаграммы рассеяния

Диаграмма рассеяния — это график, отображающий взаимосвязь между двумя наборами данных. Каждая точка на графике представляет одно наблюдение или значение данных, при этом одна переменная откладывается по оси X, а другая — по оси Y. Диаграммы рассеяния полезны для выявления тенденций и корреляций между переменными, а также помогают обнаруживать выбросы или необычные значения данных.

Создание диаграммы рассеяния в Matplotlib

Чтобы создать диаграмму рассеяния в Matplotlib, сначала импортируйте библиотеку и все необходимые зависимости:

python
import matplotlib.pyplot as plt
import numpy as np

Затем сгенерируйте некоторые тестовые данные для построения графика:

python
x = np.random.rand(50)
y = np.random.rand(50)

Наконец, создайте саму диаграмму рассеяния, вызвав функцию scatter():

python
plt.scatter(x, y)
plt.show()

Это создаст базовую диаграмму рассеяния со случайными точками данных.

Настройка диаграмм рассеяния

Хотя базовая диаграмма рассеяния предоставляет простой способ визуализации данных, часто необходимо настроить график, чтобы лучше передать информацию, которую мы хотим отобразить. Некоторые распространенные настройки включают:

Изменение размера и цвета маркеров

По умолчанию маркеры на диаграмме рассеяния маленькие и черные. Однако мы можем изменить эти параметры, чтобы сделать график более привлекательным и понятным. Например, увеличьте размер маркера, чтобы каждая точка данных была более заметной:

python
plt.scatter(x, y, s=100)

Чтобы выделить различные группы данных, измените цвет маркеров:

python
colors = np.random.rand(50)
plt.scatter(x, y, s=100, c=colors, cmap='viridis')

В данном случае мы генерируем случайный цвет для каждой точки данных и используем аргумент cmap для указания используемой цветовой карты.

Добавление подписей и заголовков

Чтобы помочь читателям понять график, добавьте подписи к осям X и Y, а также заголовок к самому графику:

python
plt.scatter(x, y, s=100, c=colors, cmap='viridis')
plt.xlabel('X Axis Label')
plt.ylabel('Y Axis Label')
plt.title('Scatter Plot Example')

Использование логарифмических осей

В некоторых случаях может потребоваться использование логарифмических шкал для одной или обеих осей, чтобы лучше отобразить данные:

python
x = np.logspace(1, 4, 50)
y = np.logspace(1, 4, 50)
plt.scatter(x, y, s=100)
plt.xscale('log')
plt.yscale('log')

В этом примере мы генерируем точки данных с логарифмическим распределением и используем функции xscale и yscale для установки логарифмической шкалы для каждой оси.

Полный пример

Следующий скрипт объединяет все описанные выше шаги и настройки в один рабочий пример:

python
import matplotlib.pyplot as plt
import numpy as np

# Generate sample data
x = np.random.rand(50)
y = np.random.rand(50)
colors = np.random.rand(50)

# Create scatter plot with customizations
plt.scatter(x, y, s=100, c=colors, cmap='viridis')
plt.xlabel('X Axis Label')
plt.ylabel('Y Axis Label')
plt.title('Scatter Plot Example')
plt.show()

Заключение

Диаграммы рассеяния — это мощный инструмент для визуализации взаимосвязей в данных, выявления тенденций и выбросов. С помощью библиотеки Matplotlib для Python создание и настройка таких графиков — это простой процесс, который можно адаптировать для широкого спектра задач анализа данных. Следуя лучшим практикам, описанным в этой статье, вы сможете создавать эффективные диаграммы рассеяния, которые ясно и наглядно передают ваши выводы по данным.

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.