Введение
В этом лабораторном задании вы научитесь создавать трехмерный гистограмму для двумерных данных с использованием Python Matplotlib. Гистограмма представляет собой графическое представление данных, которое группирует диапазон значений в ячейки (bins), а трехмерная гистограмма расширяет этот концепт, добавляя третью размерность к визуализации.
Советы по работе с ВМ
После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импорт библиотек
Прежде чем мы сможем создать трехмерную гистограмму, нам нужно импортировать необходимые библиотеки. В этом случае мы будем использовать NumPy и Matplotlib.
import matplotlib.pyplot as plt
import numpy as np
Генерация данных
Далее мы сгенерируем некоторые случайные двумерные данные для гистограммы. Мы будем использовать функцию random.rand() из NumPy для генерации 100 случайных значений для обоих переменных x и y.
## Fixing random state for reproducibility
np.random.seed(19680801)
x, y = np.random.rand(2, 100) * 4
Создание гистограммы
Теперь, когда у нас есть наши данные, мы можем создать трехмерную гистограмму. Мы будем использовать функцию histogram2d() из NumPy для создания двумерной гистограммы наших данных, а затем функцию bar3d() из Matplotlib для создания трехмерной гистограммы столбцов.
hist, xedges, yedges = np.histogram2d(x, y, bins=4, range=[[0, 4], [0, 4]])
## Construct arrays for the anchor positions of the 16 bars.
xpos, ypos = np.meshgrid(xedges[:-1] + 0.25, yedges[:-1] + 0.25, indexing="ij")
xpos = xpos.ravel()
ypos = ypos.ravel()
zpos = 0
## Construct arrays with the dimensions for the 16 bars.
dx = dy = 0.5 * np.ones_like(zpos)
dz = hist.ravel()
ax.bar3d(xpos, ypos, zpos, dx, dy, dz, zsort='average')
Отображение гистограммы
Наконец, мы можем отобразить гистограмму с использованием функции show() из Matplotlib.
plt.show()
Резюме
В этом практическом занятии вы узнали, как создавать трехмерную гистограмму для двумерных данных с использованием Python и Matplotlib. Также вы узнали, как генерировать случайные данные, создавать двумерную гистограмму и трехмерный столбчатый график гистограммы. Следуя этим шагам, вы можете создать собственные трехмерные гистограммы для визуализации собственных данных.