Введение
Matplotlib - это библиотека для визуализации данных в Python. Она предоставляет широкий спектр инструментов для создания различных типов графиков, диаграмм и карт. Одной из полезных функций Matplotlib является возможность настраивать форматтер координат. В этом практическом занятии мы пройдемся по шагам настройки форматтера координат в Matplotlib для отображения значения "z" ближайшего пикселя по заданным значениям x и y.
Советы по работе с ВМ
После запуска виртуальной машины кликните в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда может потребоваться подождать несколько секунд, пока Jupyter Notebook полностью загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импортируем необходимые модули
Для начала нам нужно импортировать необходимые модули. В данном случае мы импортируем matplotlib.pyplot и numpy.
import matplotlib.pyplot as plt
import numpy as np
Создаем случайную матрицу
Далее мы создадим случайную матрицу с использованием numpy. Мы будем использовать метод rand, чтобы создать матрицу 5x3 с случайными значениями в диапазоне от 0 до 1. Также мы установим случайный сид, чтобы обеспечить воспроизводимость результатов.
## Fixing random state for reproducibility
np.random.seed(19680801)
X = 10*np.random.rand(5, 3)
Создаем график
Теперь мы создадим график матрицы с использованием метода imshow класса axes библиотеки Matplotlib.
fig, ax = plt.subplots()
ax.imshow(X)
Изменяем форматтер координат
Теперь мы изменим форматтер координат, чтобы отображать значение "z" ближайшего пикселя изображения по заданным значениям x и y. Это можно сделать, настроив функцию ~.axes.Axes.format_coord.
def format_coord(x, y):
col = round(x)
row = round(y)
nrows, ncols = X.shape
if 0 <= col < ncols and 0 <= row < nrows:
z = X[row, col]
return f'x={x:1.4f}, y={y:1.4f}, z={z:1.4f}'
else:
return f'x={x:1.4f}, y={y:1.4f}'
ax.format_coord = format_coord
Отображаем график
Наконец, мы отобразим график с использованием метода plt.show().
plt.show()
Резюме
В этом практическом занятии мы узнали, как изменить форматтер координат в Matplotlib для отображения значения "z" ближайшего пикселя изображения по заданным значениям x и y. Мы также узнали, как создать график случайной матрицы с использованием метода imshow и настроить функцию ~.axes.Axes.format_coord для изменения форматтера координат.