РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
657 of 687 menu

Метод hexbin

Метод hexbin аксессора plot применяется к DataFrame и создаёт гексагональную бинальную диаграмму. Этот метод требует указания двух колонок: по оси x и по оси y. Основное преимущество такого графика - возможность наглядно показать плотность распределения точек в двумерном пространстве, особенно когда данных много. Метод возвращает объект Axes библиотеки Matplotlib.

Основные параметры метода: x и y - названия колонок для осей; gridsize - количество гексагонов по горизонтали (по умолчанию 100); C - колонка для агрегации значений вместо подсчёта; reduce_C_function - функция агрегации (по умолчанию np.mean); cmap - цветовая карта для заливки гексагонов.

Синтаксис

df.plot.hexbin(x, y, gridsize=100, C=None, reduce_C_function=np.mean, cmap='viridis', **kwargs)

Пример

Создадим DataFrame со случайными данными и построим простую гексагональную диаграмму:

import pandas as pd import numpy as np import matplotlib.pyplot as plt np.random.seed(42) df = pd.DataFrame({ 'a': np.random.randn(1000), 'b': np.random.randn(1000) * 0.5 + 0.2 }) df.plot.hexbin(x='a', y='b', gridsize=20) plt.show()

Результат выполнения кода:

График с гексагональными бинами, цвет которых показывает количество точек в каждой ячейке.

Пример

Изменим размер сетки и цветовую карту для улучшения визуализации:

import pandas as pd import numpy as np import matplotlib.pyplot as plt np.random.seed(7) df = pd.DataFrame({ 'a': np.random.randn(500) * 2, 'b': np.random.randn(500) * 1.5 }) df.plot.hexbin(x='a', y='b', gridsize=30, cmap='plasma') plt.show()

Результат выполнения кода:

График с более мелкой сеткой и другой цветовой картой.

Пример

Используем параметр C для отображения среднего значения третьей колонки в каждом бине:

import pandas as pd import numpy as np import matplotlib.pyplot as plt np.random.seed(15) df = pd.DataFrame({ 'a': np.random.randn(800), 'b': np.random.randn(800) * 0.8, 'c': np.random.randn(800) * 2 + 3 }) df.plot.hexbin(x='a', y='b', C='c', reduce_C_function=np.mean, gridsize=25, cmap='coolwarm') plt.show()

Результат выполнения кода:

График, где цвет гексагонов соответствует среднему значению колонки 'c' в каждой ячейке.

Смотрите также

  • метод scatter,
    который строит классическую диаграмму рассеяния
  • метод hist,
    который создаёт гистограмму распределения значений
  • метод kde,
    который строит график оценки плотности распределения
  • метод line,
    который создаёт линейный график
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить