Создание спиральной диаграммы с использованием Python и Matplotlib

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

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

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

Введение

В этом лабораторном занятии мы будем использовать Python и Matplotlib для создания графика заполненной спиралью. Мы будем использовать библиотеки numpy и matplotlib.pyplot для генерации графика.

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

После завершения запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку 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/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/DataStructuresGroup -.-> python/lists("Lists") 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-48736{{"Создание спиральной диаграммы с использованием Python и Matplotlib"}} matplotlib/figures_axes -.-> lab-48736{{"Создание спиральной диаграммы с использованием Python и Matplotlib"}} python/for_loops -.-> lab-48736{{"Создание спиральной диаграммы с использованием Python и Matplotlib"}} python/lists -.-> lab-48736{{"Создание спиральной диаграммы с использованием Python и Matplotlib"}} python/tuples -.-> lab-48736{{"Создание спиральной диаграммы с использованием Python и Matplotlib"}} python/importing_modules -.-> lab-48736{{"Создание спиральной диаграммы с использованием Python и Matplotlib"}} python/numerical_computing -.-> lab-48736{{"Создание спиральной диаграммы с использованием Python и Matplotlib"}} python/data_visualization -.-> lab-48736{{"Создание спиральной диаграммы с использованием Python и Matplotlib"}} end

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

Мы импортируем необходимые библиотеки для генерации графика. Для численных вычислений будем использовать numpy, а для создания графика — matplotlib.pyplot.

import matplotlib.pyplot as plt
import numpy as np

Определяем переменные

Мы определим переменные theta, a и b для нашего графика.

theta = np.arange(0, 8*np.pi, 0.1)
a = 1
b =.2

Генерируем график

Мы сгенерируем график, пройдя в цикле по четырем значениям dt и конкатенируя полученные массивы x и y.

for dt in np.arange(0, 2*np.pi, np.pi/2.0):

    x = a*np.cos(theta + dt)*np.exp(b*theta)
    y = a*np.sin(theta + dt)*np.exp(b*theta)

    dt = dt + np.pi/4.0

    x2 = a*np.cos(theta + dt)*np.exp(b*theta)
    y2 = a*np.sin(theta + dt)*np.exp(b*theta)

    xf = np.concatenate((x, x2[::-1]))
    yf = np.concatenate((y, y2[::-1]))

    p1 = plt.fill(xf, yf)

plt.show()

Интерпретация

График, сгенерированный кодом, представляет собой спираль, заполненную цветом. Переменные a и b контролируют форму спиралью, в то время как переменная theta контролирует количество оборотов. Цикл по dt позволяет нам создать спираль с четырьмя "руками", поворачивая график на 45 градусов каждый раз.

Резюме

В этом практическом занятии мы узнали, как использовать Python и Matplotlib для генерации заполненной спиральной диаграммы. Мы определили переменные для графика, сгенерировали график с использованием цикла и проинтерпретировали полученный график. С этими знаниями мы можем создавать аналогичные графики с разными формами и цветами.