Построение графиков с логит шкалой в Matplotlib

Beginner

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

Введение

В этом практическом занятии мы научимся создавать графики с логит осями в Matplotlib. Логит оси широко используются в графиках распределений вероятностей для представления накопленной функции распределения (CDF). В этом практическом занятии мы будем использовать библиотеки math, numpy и matplotlib.pyplot.

Советы по использованию ВМ

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

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

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

Импортируем необходимые библиотеки и настраиваем данные

Мы импортируем библиотеки math, numpy и matplotlib.pyplot и настраиваем данные для графиков.

import math
import numpy as np
import matplotlib.pyplot as plt

xmax = 10
x = np.linspace(-xmax, xmax, 10000)
cdf_norm = [math.erf(w / np.sqrt(2)) / 2 + 1 / 2 for w in x]
cdf_laplacian = np.where(x < 0, 1 / 2 * np.exp(x), 1 - 1 / 2 * np.exp(-x))
cdf_cauchy = np.arctan(x) / np.pi + 1 / 2

Создаем график с логит шкалой и стандартной нотацией

Мы создадим график с логит шкалой и стандартной нотацией. Это можно сделать, установив масштаб оси y в логит с помощью set_yscale("logit") и установив пределы оси y с помощью set_ylim(). Мы также построим накопленные функции распределения для нормального, лапласиана и распределения Коши с помощью plot() и добавим легенду с помощью legend().

fig, axs = plt.subplots(nrows=1, ncols=1, figsize=(6.4, 4.8))

axs.plot(x, cdf_norm, label=r"$\mathcal{N}$")
axs.plot(x, cdf_laplacian, label=r"$\mathcal{L}$")
axs.plot(x, cdf_cauchy, label="Cauchy")
axs.set_yscale("logit")
axs.set_ylim(1e-5, 1 - 1e-5)
axs.legend()
axs.grid()

plt.show()

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

Мы создадим график с логит шкалой и нотацией выживаемости. Это можно сделать, установив масштаб оси y в логит и параметр one_half в "1/2" и параметр use_overline в True с помощью set_yscale("logit", one_half="1/2", use_overline=True). Мы также построим накопленные функции распределения для нормального, лапласиана и распределения Коши с помощью plot() и добавим легенду с помощью legend().

fig, axs = plt.subplots(nrows=1, ncols=1, figsize=(6.4, 4.8))

axs.plot(x, cdf_norm, label=r"$\mathcal{N}$")
axs.plot(x, cdf_laplacian, label=r"$\mathcal{L}$")
axs.plot(x, cdf_cauchy, label="Cauchy")
axs.set_yscale("logit", one_half="1/2", use_overline=True)
axs.set_ylim(1e-5, 1 - 1e-5)
axs.legend()
axs.grid()

plt.show()

Создаем график с линейной шкалой

Мы создадим график с линейной шкалой. Это можно сделать, просто построив накопленные функции распределения для нормального, лапласиана и распределения Коши с помощью plot() и добавив легенду с помощью legend().

fig, axs = plt.subplots(nrows=1, ncols=1, figsize=(6.4, 4.8))

axs.plot(x, cdf_norm, label=r"$\mathcal{N}$")
axs.plot(x, cdf_laplacian, label=r"$\mathcal{L}$")
axs.plot(x, cdf_cauchy, label="Cauchy")
axs.legend()
axs.grid()

plt.show()

Резюме

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