Введение
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. Мы узнали, как рисовать вертикальные и горизонтальные линии, произвольные линии и диагональные линии с фиксированным наклоном. Эти функции полезны для отметки особых значений данных или для рисования сеточных линий, помогающих при анализе данных.