Як малювати прямокутники в 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 ))