Введение
В этом руководстве вы узнаете, как создать шестиугольную гистограмму с использованием Matplotlib в Python. Шестиугольные гистограммы - это двумерные гистограммы, в которых ячейки являются шестиугольниками, а цвет представляет количество точек данных в каждой ячейке. Они полезны для визуализации распределения больших наборов данных.
Советы по работе с ВМ
После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импорт библиотек
Для создания шестиугольной гистограммы нам нужно импортировать следующие библиотеки:
matplotlib.pyplotдля создания графикаnumpyдля генерации случайных данных
import matplotlib.pyplot as plt
import numpy as np
Генерация данных
Мы сгенерируем 100 000 точек данных с использованием numpy.random.standard_normal() и numpy.random.standard_normal(). standard_normal() генерирует случайные числа из стандартного нормального распределения с математическим ожиданием 0 и стандартным отклонением 1.
np.random.seed(19680801)
n = 100_000
x = np.random.standard_normal(n)
y = 2.0 + 3.0 * x + 4.0 * np.random.standard_normal(n)
xlim = x.min(), x.max()
ylim = y.min(), y.max()
Создание шестиугольной гистограммы
Мы создадим шестиугольную гистограмму с использованием matplotlib.pyplot.hexbin().
fig, ax = plt.subplots(figsize=(9, 4))
hb = ax.hexbin(x, y, gridsize=50, cmap='inferno')
ax.set(xlim=xlim, ylim=ylim)
ax.set_title("Hexagon binning")
cb = fig.colorbar(hb, ax=ax, label='counts')
Здесь мы устанавливаем размер сетки равным 50 и карту цветов равной 'inferno'. Мы также добавляем цветовую шкалу, чтобы показать количество точек данных внутри каждого шестиугольника.
Добавление логарифмической шкалы цветов
Мы можем добавить логарифмическую шкалу цветов к шестиугольной гистограмме, установив bins='log' в hexbin().
fig, ax = plt.subplots(figsize=(9, 4))
hb = ax.hexbin(x, y, gridsize=50, bins='log', cmap='inferno')
ax.set(xlim=xlim, ylim=ylim)
ax.set_title("With a log color scale")
cb = fig.colorbar(hb, ax=ax, label='log10(N)')
Отображение графика
Наконец, мы отображаем график с использованием plt.show().
plt.show()
Резюме
В этом уроке мы узнали, как создать шестиугольную гистограмму с использованием matplotlib.pyplot.hexbin() в Python. Мы сгенерировали случайные данные с использованием numpy.random.standard_normal() и numpy.random.standard_normal(), создали шестиугольную гистограмму, добавили логарифмическую шкалу цветов и отобразили график с использованием plt.show().