Визуализация бесконечных линий в Matplotlib

Beginner

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

Введение

Matplotlib - это библиотека Python, используемая для создания визуализаций для анализа данных. В этом руководстве мы узнаем, как использовать axvline, axhline и axline для рисования бесконечных линий в Matplotlib.

Советы по ВМ

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

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

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

Рисование вертикальных и горизонтальных линий

Мы можем использовать axvline и axhline для рисования соответственно вертикальных и горизонтальных линий. Построим три горизонтальные линии при y=0, y=0.5 и y=1.0.

import matplotlib.pyplot as plt
import numpy as np

## Generate data
t = np.linspace(-10, 10, 100)
sig = 1 / (1 + np.exp(-t))

## Draw horizontal lines
plt.axhline(y=0, color="black", linestyle="--")
plt.axhline(y=0.5, color="black", linestyle=":")
plt.axhline(y=1.0, color="black", linestyle="--")

## Plot sigmoid function
plt.plot(t, sig, linewidth=2, label=r"$\sigma(t) = \frac{1}{1 + e^{-t}}$")
plt.xlim(-10, 10)
plt.xlabel("t")
plt.legend(fontsize=14)
plt.show()

Рисование вертикальной линии

Мы можем использовать axvline для рисования вертикальной линии в заданной позиции x. Построим вертикальную линию при x = 0.

import matplotlib.pyplot as plt
import numpy as np

## Generate data
t = np.linspace(-10, 10, 100)
sig = 1 / (1 + np.exp(-t))

## Draw horizontal lines
plt.axhline(y=0, color="black", linestyle="--")
plt.axhline(y=0.5, color="black", linestyle=":")
plt.axhline(y=1.0, color="black", linestyle="--")

## Draw vertical line
plt.axvline(color="grey")

## Plot sigmoid function
plt.plot(t, sig, linewidth=2, label=r"$\sigma(t) = \frac{1}{1 + e^{-t}}$")
plt.xlim(-10, 10)
plt.xlabel("t")
plt.legend(fontsize=14)
plt.show()

Рисование произвольной линии

Мы можем использовать axline для рисования линии в любом направлении. Построим линию с наклоном 0.25, проходящую через точку (0, 0.5).

import matplotlib.pyplot as plt
import numpy as np

## Generate data
t = np.linspace(-10, 10, 100)
sig = 1 / (1 + np.exp(-t))

## Draw horizontal lines
plt.axhline(y=0, color="black", linestyle="--")
plt.axhline(y=0.5, color="black", linestyle=":")
plt.axhline(y=1.0, color="black", linestyle="--")

## Draw vertical line
plt.axvline(color="grey")

## Draw arbitrary line
plt.axline((0, 0.5), slope=0.25, color="black", linestyle=(0, (5, 5)))

## Plot sigmoid function
plt.plot(t, sig, linewidth=2, label=r"$\sigma(t) = \frac{1}{1 + e^{-t}}$")
plt.xlim(-10, 10)
plt.xlabel("t")
plt.legend(fontsize=14)
plt.show()

Рисование диагональных линий

Мы можем использовать axline с параметром transform, чтобы нарисовать диагональные линии с фиксированным наклоном. Построим диагональные сеточные линии с фиксированным наклоном 0.5.

import matplotlib.pyplot as plt
import numpy as np

## Draw diagonal lines
for pos in np.linspace(-2, 1, 10):
    plt.axline((pos, 0), slope=0.5, color='k', transform=plt.gca().transAxes)

plt.ylim([0, 1])
plt.xlim([0, 1])
plt.show()

Резюме

В этом уроке мы узнали, как рисовать бесконечные линии в Matplotlib с использованием axvline, axhline и axline. Мы узнали, как рисовать вертикальные и горизонтальные линии, произвольные линии и диагональные линии с фиксированным наклоном. Эти функции полезны для отметки особых значений данных или для рисования сеточных линий, помогающих при анализе данных.