Симметричные логарифмические графики в Matplotlib

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

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

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

Введение

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

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

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL 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(("Matplotlib")) -.-> matplotlib/PlottingDataGroup(["Plotting Data"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) 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/grid_config("Grid 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-48978{{"Симметричные логарифмические графики в Matplotlib"}} matplotlib/figures_axes -.-> lab-48978{{"Симметричные логарифмические графики в Matplotlib"}} matplotlib/line_plots -.-> lab-48978{{"Симметричные логарифмические графики в Matplotlib"}} python/tuples -.-> lab-48978{{"Симметричные логарифмические графики в Matplotlib"}} matplotlib/grid_config -.-> lab-48978{{"Симметричные логарифмические графики в Matplotlib"}} python/importing_modules -.-> lab-48978{{"Симметричные логарифмические графики в Matplotlib"}} python/numerical_computing -.-> lab-48978{{"Симметричные логарифмические графики в Matplotlib"}} python/data_visualization -.-> lab-48978{{"Симметричные логарифмические графики в Matplotlib"}} end

Импортировать библиотеки

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

import matplotlib.pyplot as plt
import numpy as np

Генерировать данные

Далее, нам нужно сгенерировать некоторые данные для построения графика. В этом примере мы создадим три массива: один для значений оси x, один для значений оси y в первом графике и один для значений оси y в третьем графике.

dt = 0.01
x = np.arange(-50.0, 50.0, dt)
y1 = np.arange(0, 100.0, dt)
y3 = np.sin(x / 3.0)

Создать графики

Теперь, когда у нас есть наши данные, мы можем создать наши графики. Мы создадим три подграфика, каждый с различным масштабированием осей symlog.

fig, (ax0, ax1, ax2) = plt.subplots(nrows=3)

Создать симметричный логарифмический график по оси x

В первом подграфике мы создадим симметричный логарифмический график по оси x. Также добавим мелкую сетку по оси x.

ax0.plot(x, y1)
ax0.set_xscale('symlog')
ax0.set_ylabel('symlogx')
ax0.grid()
ax0.xaxis.grid(which='minor')

Создать симметричный логарифмический график по оси y

Во втором подграфике мы создадим симметричный логарифмический график по оси y.

ax1.plot(y1, x)
ax1.set_yscale('symlog')
ax1.set_ylabel('symlogy')

Создать симметричный логарифмический график по обеим осям x и y

В третьем подграфике мы создадим симметричный логарифмический график по обеим осям x и y. Также установим параметр linthresh равным 0,015.

ax2.plot(x, y3)
ax2.set_xscale('symlog')
ax2.set_yscale('symlog', linthresh=0.015)
ax2.grid()
ax2.set_ylabel('symlog both')

Показать графики

Наконец, мы можем показать наши графики с использованием метода show().

plt.show()

Резюме

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