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

PythonPythonBeginner
Практиковаться сейчас

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

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

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/ModulesandPackagesGroup -.-> python/standard_libraries("Common Standard Libraries") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48555{{"Создание графических элементов с единицами измерения"}} matplotlib/figures_axes -.-> lab-48555{{"Создание графических элементов с единицами измерения"}} python/lists -.-> lab-48555{{"Создание графических элементов с единицами измерения"}} python/tuples -.-> lab-48555{{"Создание графических элементов с единицами измерения"}} python/importing_modules -.-> lab-48555{{"Создание графических элементов с единицами измерения"}} python/standard_libraries -.-> lab-48555{{"Создание графических элементов с единицами измерения"}} python/numerical_computing -.-> lab-48555{{"Создание графических элементов с единицами измерения"}} python/data_visualization -.-> lab-48555{{"Создание графических элементов с единицами измерения"}} end

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

Сначала вам нужно импортировать необходимые библиотеки. Для создания графика вы будете использовать 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, генерировать случайные данные, создавать графические элементы линий и текста и добавлять их на график. Также вы узнали, как задавать пределы графика и отображать его.