Создание графических элементов с единицами измерения

Beginner

This tutorial is from open-source community. Access the source code

Введение

В этом практическом занятии вы научитесь создавать графические элементы (artists) с единицами измерения в Matplotlib. Вы создадите различные типы графических элементов, такие как линия, текст и наклеек, и добавите их на график. Также вы установите единицы измерения для осей x и y и научитесь преобразовывать единицы измерения в скаляры.

Советы по работе с ВМ

После запуска виртуальной машины (VM) нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Импорт библиотек

Сначала вам нужно импортировать необходимые библиотеки. Для создания графика вы будете использовать matplotlib.pyplot, для генерации случайных данных — numpy, а для создания различных типов графических элементов (artists) — matplotlib.collections, matplotlib.lines, matplotlib.patches и matplotlib.text.

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.collections as collections
import matplotlib.lines as lines
import matplotlib.patches as patches
import matplotlib.text as text

Создание фигуры и осей

Далее вам нужно создать объекты фигуры и осей. Объект фигуры является верхнеуровневым контейнером для всех элементов графика, а объект оси представляет оси x и y графика.

fig, ax = plt.subplots()

Установка единиц измерения для осей

Для использования единиц измерения для осей x и y вам нужно установить единицы измерения для каждой оси с помощью метода set_units. В этом примере вы будете использовать сантиметры в качестве единицы измерения.

ax.xaxis.set_units('cm')
ax.yaxis.set_units('cm')

Генерация случайных данных

Для создания графического элемента линии вам нужно сгенерировать некоторые случайные данные. Вы будете использовать numpy.random для генерации двух наборов координат x и y для линии.

x = np.array([0, 1.5])
y = np.array([0, 2.5])

Создание графического элемента линии

Теперь вы можете создать графический элемент линии с использованием класса Line2D из matplotlib.lines. Вы можете указать координаты x и y, ширину линии, цвет и объект оси в качестве аргументов.

line = lines.Line2D(x, y, lw=2, color='black', axes=ax)

Добавление графического элемента на график

Для добавления графического элемента линии на график вам нужно вызвать метод add_line объекта оси и передать графический элемент линии в качестве аргумента.

ax.add_line(line)

Создание графического элемента текста

Далее вы создадите графический элемент текста с использованием класса Text из matplotlib.text. Вы можете указать координаты x и y, метку текста, горизонтальное и вертикальное выравнивание и объект оси в качестве аргументов.

t = text.Text(3, 2.5, 'text label', ha='left', va='bottom', axes=ax)

Добавление графического элемента на график

Для добавления графического элемента текста на график вам нужно вызвать метод add_artist объекта оси и передать графический элемент текста в качестве аргумента.

ax.add_artist(t)

Установка пределов графика

Для установки пределов графика вам нужно вызвать методы set_xlim и set_ylim объекта оси и передать минимальные и максимальные значения для каждой оси.

ax.set_xlim(-1, 10)
ax.set_ylim(-1, 10)

Отображение графика

Наконец, вы можете отобразить график с использованием метода show из pyplot.

plt.show()

Резюме

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