Data Visualization

Управление размером маркеров на диаграммах рассеяния Matplotlib: руководство

Spread the love

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

Содержание

Управление размером маркера с помощью ключевого слова ‘s’

Наиболее распространенный и универсальный метод регулировки размера маркера в точечных диаграммах Matplotlib — использование ключевого аргумента s внутри функции scatter. Аргумент s принимает скалярный или массивоподобный объект, указывающий размер маркера в квадратах точек. Значение 100 представляет маркер с площадью 100 квадратных точек.


import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(10)
y = np.random.rand(10)
sizes = np.random.randint(10, 100, 10)  # Случайные размеры от 10 до 100

plt.scatter(x, y, s=sizes)
plt.xlabel("Ось X")
plt.ylabel("Ось Y")
plt.title("Точечная диаграмма с переменными размерами маркеров")
plt.show()

Этот код создает точечную диаграмму, где размер каждого маркера определяется соответствующим элементом в массиве sizes. Использование одного скалярного значения для s приводит к одинаковому размеру маркеров для всех точек.

Единый размер маркера для всех точек

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


import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(10)
y = np.random.rand(10)

plt.scatter(x, y, s=50)  # Все маркеры будут иметь размер 50
plt.xlabel("Ось X")
plt.ylabel("Ось Y")
plt.title("Точечная диаграмма с одинаковым размером маркеров")
plt.show()

Это создает точечную диаграмму, где все маркеры имеют площадь 50 квадратных точек.

Неравномерный размер маркера на основе данных

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


import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(10)
y = np.random.rand(10)
population = np.random.randint(1000, 10000, 10)  # Пример данных о населении

# Масштабирование населения до соответствующих размеров маркеров
sizes = (population / population.max()) * 200  # Масштабирование до разумного диапазона

plt.scatter(x, y, s=sizes)
plt.xlabel("Ось X")
plt.ylabel("Ось Y")
plt.title("Точечная диаграмма, где размер маркера представляет население")
plt.show()

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

Использование функции plot для простых точечных диаграмм

Хотя функция scatter обычно предпочтительнее для точечных диаграмм из-за ее гибкости, вы также можете управлять размером маркера с помощью параметра markersize внутри функции plot. Однако этот метод менее гибок и допускает только один размер маркера для всех точек:


import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(10)
y = np.random.rand(10)

plt.plot(x, y, 'o', markersize=10)  # Все маркеры будут иметь размер 10
plt.xlabel("Ось X")
plt.ylabel("Ось Y")
plt.title("Точечная диаграмма с использованием функции plot")
plt.show()

Это дает результат, аналогичный использованию однородного размера с scatter, но scatter предлагает лучший контроль и, как правило, рекомендуется для создания точечных диаграмм. Обратите внимание, что 'o' указывает круговой маркер; доступны другие стили маркеров (подробнее см. в документации Matplotlib).

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *