Как рисовать прямоугольники в matplotlib (с примерами)
Чтобы нарисовать прямоугольник в Matplotlib, вы можете использовать функцию matplotlib.patches.Rectangle , которая использует следующий синтаксис:
matplotlib.patches.Rectangle(xy, ширина, высота, угол = 0,0)
Золото:
- xy: координаты (x, y) опорной точки прямоугольника.
- ширина: ширина прямоугольника
- height: высота прямоугольника
- угол: вращение в градусах против часовой стрелки вокруг 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)) #displayplot 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 )) #displayplot 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 ))