Чтобы нарисовать прямоугольник в Matplotlib, вы можете использовать функцию matplotlib.patches.Rectangle , которая использует следующий синтаксис:
matplotlib.patches.Rectangle (xy, ширина, высота, угол = 0,0)
куда:
- xy: координаты (x, y) точки привязки прямоугольника.
- ширина: ширина прямоугольника
- высота: высота прямоугольника
- угол: вращение в градусах против часовой стрелки вокруг xy (по умолчанию 0)
В этом руководстве представлено несколько примеров использования этой функции на практике.
Пример 1. Нарисуйте прямоугольник на графике
Следующий код показывает, как нарисовать прямоугольник на графике Matplotlib с шириной 2 и высотой 6:
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
#define Matplotlib figure and axis
fig, ax = plt.subplots()
#create simple line plot
ax.plot([0, 10],[0, 10])
#add rectangle to plot
ax.add_patch (Rectangle((1, 1), 2, 6))
#display plot
plt.show()

Пример 2: Стиль прямоугольника
В следующем коде показано, как применить стиль к прямоугольнику:
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
#define Matplotlib figure and axis
fig, ax = plt.subplots()
#create simple line plot
ax.plot([0, 10],[0, 10])
#add rectangle to plot
ax.add_patch (Rectangle((1, 1), 2, 6,
edgecolor = 'pink',
facecolor = 'blue',
fill= True ,
lw= 5 ))
#display plot
plt.show()

Полный список свойств стиля, которые можно применить к прямоугольнику, можно найти здесь .
Пример 3. Нарисуйте прямоугольник на изображении
Следующий код показывает, как нарисовать прямоугольник на изображении в Matplotilb. Обратите внимание, что изображение, используемое в этом примере, взято из этого учебника по Matplotlib .
Чтобы воспроизвести этот пример, просто загрузите фотографию клопа из этого руководства и сохраните ее на свой компьютер.
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
from PIL import Image
#display the image
plt.imshow (Image. open('stinkbug.png'))
#add rectangle
plt.gca ().add_patch (Rectangle((50,100),40,80,
edgecolor='red',
facecolor='none',
lw= 4 ))

Обратите внимание, что мы можем использовать аргумент угла , чтобы повернуть прямоугольник на определенное количество градусов против часовой стрелки:
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
from PIL import Image
#display the image
plt.imshow (Image. open('stinkbug.png'))
#add rectangle
plt.gca ().add_patch (Rectangle((50,100),40,80,
angle= 30 ,
edgecolor='red',
facecolor='none',
lw= 4 ))

Связанный: Как строить круги в Matplotlib (с примерами)