Как рисовать прямоугольники в Matplotlib (с примерами)

Как рисовать прямоугольники в Matplotlib (с примерами)

Чтобы нарисовать прямоугольник в 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() 
Прямоугольник в matplotlib

Пример 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() 
Пользовательский прямоугольник со стилем в Matplotlib

Полный список свойств стиля, которые можно применить к прямоугольнику, можно найти здесь .

Пример 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 ))
Нарисуйте прямоугольник на воображении в 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,
 angle= 30 ,
 edgecolor='red',
 facecolor='none',
 lw= 4 )) 
Повернутый прямоугольник на изображении в Matplotlib

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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.