График векторов (Quiver Plot) в Matplotlib

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

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

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

Введение

В этом практическом занятии вы научитесь создавать график векторов (quiver plot) с использованием Matplotlib в Python. График векторов представляет векторные поля в виде стрелок. Он полезен для визуализации потоков жидкости, электрических и магнитных полей и других типов векторных полей.

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

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) matplotlib(("Matplotlib")) -.-> matplotlib/SpecializedPlotsGroup(["Specialized Plots"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") matplotlib/SpecializedPlotsGroup -.-> matplotlib/quiver_plots("Quiver Plots") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48894{{"График векторов (Quiver Plot) в Matplotlib"}} matplotlib/figures_axes -.-> lab-48894{{"График векторов (Quiver Plot) в Matplotlib"}} python/tuples -.-> lab-48894{{"График векторов (Quiver Plot) в Matplotlib"}} python/importing_modules -.-> lab-48894{{"График векторов (Quiver Plot) в Matplotlib"}} matplotlib/quiver_plots -.-> lab-48894{{"График векторов (Quiver Plot) в Matplotlib"}} python/numerical_computing -.-> lab-48894{{"График векторов (Quiver Plot) в Matplotlib"}} python/data_visualization -.-> lab-48894{{"График векторов (Quiver Plot) в Matplotlib"}} end

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

Для создания графика векторов (quiver plot) нам нужно импортировать библиотеки numpy и matplotlib.

import numpy as np
import matplotlib.pyplot as plt

Создание данных

нам нужно создать координаты X и Y с использованием функции np.meshgrid(). Затем мы создаем массивы U и V, которые представляют векторные поля.

X = np.arange(-10, 10, 1)
Y = np.arange(-10, 10, 1)
U, V = np.meshgrid(X, Y)

Создание графика векторов (quiver plot)

Мы можем создать график векторов с использованием функции ax.quiver(). Мы передаем массивы X, Y, U и V в качестве параметров.

fig, ax = plt.subplots()
q = ax.quiver(X, Y, U, V)

Создание ключей для графика векторов (quiver key)

Мы можем добавить ключ для графика векторов, чтобы показать масштаб стрелок. Мы используем функцию ax.quiverkey() для добавления ключа. Мы передаем объект q, позицию X и Y ключа, длину стрелки, метку для ключа и позицию метки.

ax.quiverkey(q, X=0.3, Y=1.1, U=10,
             label='Quiver key, length = 10', labelpos='E')

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

Мы можем отобразить график с использованием функции plt.show().

plt.show()

Резюме

В этом практическом занятии мы узнали, как создавать график векторов (quiver plot) с использованием Matplotlib в Python. Мы начали с импорта необходимых библиотек, создания данных и затем создания графика векторов. Наконец, мы добавили ключ для графика векторов и отобразили его.