6.6. Добавление текста

Что бы добавить на график какой-то поясняющий текст можно воспользоваться методом Axes.text():

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-5, 5, 100)
y1 = (x - 2)*(x + 2)
y2 = 2*x + 5

fig, ax = plt.subplots()

ax.plot(x, y1)
ax.plot(x, y2)

#  Добавляем текст:
ax.text(0, 9, 'прямая',
        rotation = 38,
        fontsize = 20)
ax.text(1.5, 2, 'парабола',
        rotation = 50,
        fontsize = 20)

fig.set_figwidth(8)
fig.set_figheight(8)

plt.show()

Matplotlib text

В простейшем случае, метод text(), принимает всего три параметра: x и y - координаты левого верхнего края области с текстом, и, s - строка с текстом. Так же существует очень много других параметров, которые позволяют настроить внешний вид области с текстом.

Настроить параметры вмещающей текст области можно с помощью параметра bbox, который в свою очередь принимает словарь из ключей параметров и их значений:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

box_1 = {'facecolor':'black',    #  цвет области
       'edgecolor': 'red',     #  цвет крайней линии
       'boxstyle': 'round'}    #  стиль области

box_2 = {'facecolor':'k',
         'edgecolor': 'r',
         'boxstyle': 'circle',
         'linestyle': ':',    #  начертание линии
         'linewidth': '3'}     #  толщина линии

box_3 = {'facecolor':'black',    #  цвет области
       'edgecolor': 'red',     #  цвет крайней линии
       'boxstyle': 'rarrow',    #  стиль области
         'pad': 0.9}    #  отступы

ax.text(0.05, 0.5, 'Какой-то текст',
        bbox = box_1,
        color = 'white',    #  цвет шрифта
        fontsize = 20)

ax.text(0.5, 0.35, 'Какой-то\n текст',
        bbox = box_2,
        horizontalalignment = 'center',    #  горизонтальное выравнивание
        color = 'white',
        fontsize = 20)

ax.text(0.7, 0.5, 'Какой-то текст',
        bbox = box_3,
        color = 'white',
        fontsize = 20)

fig.set_figwidth(12)
fig.set_figheight(2)

plt.show()

Matplotlib text bbox