Построение трехмерных параметрических кривых с использованием Matplotlib

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

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

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

Введение

В этом практическом занятии будет показано, как построить параметрическую кривую в трехмерном пространстве с использованием Matplotlib. Кривая будет определена тремя уравнениями:

x = r * sin(theta)

y = r * cos(theta)

z = z

где r и z определяются как:

r = z^2 + 1

z имеет диапазон значений от -2 до 2, а theta имеет диапазон значений от -4π до 4π.

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

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL matplotlib(("Matplotlib")) -.-> matplotlib/PlottingDataGroup(["Plotting Data"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlotCustomizationGroup(["Plot Customization"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") matplotlib/PlottingDataGroup -.-> matplotlib/line_plots("Line Plots") python/DataStructuresGroup -.-> python/tuples("Tuples") matplotlib/PlotCustomizationGroup -.-> matplotlib/legend_config("Legend Configuration") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48808{{"Построение трехмерных параметрических кривых с использованием Matplotlib"}} matplotlib/figures_axes -.-> lab-48808{{"Построение трехмерных параметрических кривых с использованием Matplotlib"}} matplotlib/line_plots -.-> lab-48808{{"Построение трехмерных параметрических кривых с использованием Matplotlib"}} python/tuples -.-> lab-48808{{"Построение трехмерных параметрических кривых с использованием Matplotlib"}} matplotlib/legend_config -.-> lab-48808{{"Построение трехмерных параметрических кривых с использованием Matplotlib"}} python/importing_modules -.-> lab-48808{{"Построение трехмерных параметрических кривых с использованием Matplotlib"}} python/numerical_computing -.-> lab-48808{{"Построение трехмерных параметрических кривых с использованием Matplotlib"}} python/data_visualization -.-> lab-48808{{"Построение трехмерных параметрических кривых с использованием Matplotlib"}} end

Импортируем необходимые библиотеки

Начнем с импорта необходимых библиотек: Matplotlib и NumPy. Matplotlib будет использоваться для создания трехмерной диаграммы, а NumPy - для генерации значений для x, y и z.

import matplotlib.pyplot as plt
import numpy as np

Создаем трехмерную диаграмму

Далее мы создадим трехмерную диаграмму с использованием Matplotlib. Также создадим объект оси, чтобы добавить подписи и легенды к диаграмме.

ax = plt.figure().add_subplot(projection='3d')

Определяем значения для x, y и z

Мы сгенерируем значения для x, y и z с использованием NumPy. Сначала определим диапазон значений для theta и z. Затем используем эти значения для генерации значений для r, x и y.

theta = np.linspace(-4 * np.pi, 4 * np.pi, 100)
z = np.linspace(-2, 2, 100)
r = z**2 + 1
x = r * np.sin(theta)
y = r * np.cos(theta)

Построим параметрическую кривую

Теперь, когда мы сгенерировали значения для x, y и z, мы можем построить параметрическую кривую с использованием метода plot() в Matplotlib.

ax.plot(x, y, z, label='parametric curve')

Добавим подписи и легенду к диаграмме

Наконец, мы добавим подписи и легенду к диаграмме с использованием метода legend().

ax.legend()

Резюме

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