Создайте трехмерные графики с погрешностными полосами в Python

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

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

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

Введение

В этом уроке мы научимся создавать трехмерный график с погрешностями с использованием библиотеки Matplotlib для Python. Погрешностные полосы - это графическое представление вариабельности данных и часто используются в научных и инженерных областях для показа неопределенностей в измерениях или статистических оценках.

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

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlottingDataGroup(["Plotting Data"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") matplotlib/PlottingDataGroup -.-> matplotlib/error_bars("Error Bars") python/DataStructuresGroup -.-> python/tuples("Tuples") 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-48717{{"Создайте трехмерные графики с погрешностными полосами в Python"}} matplotlib/figures_axes -.-> lab-48717{{"Создайте трехмерные графики с погрешностными полосами в Python"}} matplotlib/error_bars -.-> lab-48717{{"Создайте трехмерные графики с погрешностными полосами в Python"}} python/tuples -.-> lab-48717{{"Создайте трехмерные графики с погрешностными полосами в Python"}} python/importing_modules -.-> lab-48717{{"Создайте трехмерные графики с погрешностными полосами в Python"}} python/numerical_computing -.-> lab-48717{{"Создайте трехмерные графики с погрешностными полосами в Python"}} python/data_visualization -.-> lab-48717{{"Создайте трехмерные графики с погрешностными полосами в Python"}} end

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

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

import matplotlib.pyplot as plt
import numpy as np

Создание трехмерного графика

Далее мы создаем трехмерный график, используя метод add_subplot объекта figure. Мы задаем параметр projection равным '3d', чтобы указать, что мы хотим получить трехмерный график.

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

Генерация данных для графика

Мы генерируем данные для нашего графика, создав параметрическую кривую. Параметрическая кривая - это набор уравнений, которые описывают координаты x, y и z в виде функции параметра. Мы используем функцию arange из NumPy для создания массива значений от 0 до 2π. Затем мы используем эти значения для вычисления координат x, y и z с использованием тригонометрических функций.

t = np.arange(0, 2*np.pi+.1, 0.01)
x, y, z = np.sin(t), np.cos(3*t), np.sin(5*t)

Добавление погрешностных полос на график

Мы добавляем погрешностные полосы на наш график, используя метод errorbar объекта Axes3D. Мы задаем параметры zuplims и zlolims массивами, которые определяют, какие точки данных имеют верхние и нижние пределы. Мы задаем параметр errorevery, чтобы контролировать частоту появления погрешностных полос.

estep = 15
i = np.arange(t.size)
zuplims = (i % estep == 0) & (i // estep % 3 == 0)
zlolims = (i % estep == 0) & (i // estep % 3 == 2)

ax.errorbar(x, y, z, 0.2, zuplims=zuplims, zlolims=zlolims, errorevery=estep)

Настройка графика

Мы можем настроить наш график, добавив метки к осям x, y и z с использованием методов set_xlabel, set_ylabel и set_zlabel.

ax.set_xlabel("X label")
ax.set_ylabel("Y label")
ax.set_zlabel("Z label")

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

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

plt.show()

Резюме

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