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

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

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

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

Введение

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

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

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

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

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

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

Во - первых, нам нужно импортировать необходимые библиотеки, это 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.