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

Beginner

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

Введение

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

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

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

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

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

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

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