Як малювати стрілки в matplotlib
Щоб намалювати стрілки в Matplotlib, ви можете використовувати функцію matplotlib.pyplot.arrow , яка використовує такий синтаксис:
matplotlib.pyplot.arrow(x, y, dx, dy)
золото:
- x, y: координати x і y основи стрілки
- dx, dy: довжина стрілки в напрямках x і y
Цей підручник містить кілька прикладів практичного використання цієї функції.
Приклад 1: намалюйте одну стрілку
Наступний код показує, як намалювати одну стрілку на діаграмі Matplotlib:
import matplotlib. pyplot as plt #define two arrays for plotting A = [3, 5, 5, 6, 7, 8] B = [12, 14, 17, 20, 22, 27] #create scatterplot, specifying marker size to be 40 plt. scatter (A, B, s= 40 ) #add arrow to plot plt. arrow (x= 4 , y= 18 , dx= 2 , dy= 5 , width= .08 ) #displayplot plt. show ()
Зауважте, що ми можемо встановити dx=0 для створення вертикальної стрілки та dy=0 для створення горизонтальної стрілки.
Наприклад, ось як створити вертикальну стрілку:
import matplotlib. pyplot as plt #define two arrays for plotting A = [3, 5, 5, 6, 7, 8] B = [12, 14, 17, 20, 22, 27] #create scatterplot, specifying marker size to be 40 plt. scatter (A, B, s= 40 ) #add arrow to plot plt. arrow (x= 4 , y= 18 , dx= 0 , dy= 5 , width= .08 ) #displayplot plt. show ()
Приклад 2: Стилізація стрілки
За замовчуванням стрілка в Matplotlib синя з чорними краями, але ми можемо легко змінити це за допомогою аргументів facecolor і edgecolor :
import matplotlib. pyplot as plt #define two arrays for plotting A = [3, 5, 5, 6, 7, 8] B = [12, 14, 17, 20, 22, 27] #create scatterplot, specifying marker size to be 40 plt. scatter (A, B, s= 40 ) #add arrow to plot plt. arrow (x= 4 , y= 18 , dx= 0 , dy= 5 , width= .08 , facecolor= 'red' , edgecolor= 'none' ) #displayplot plt. show ()
Ви можете знайти повний список властивостей стилю, які можна застосувати до стрілок, тут .
Приклад 3: додайте анотації до стрілок
Наступний код показує, як додати анотацію під стрілкою на діаграмі Matplotlib:
import matplotlib. pyplot as plt #define two arrays for plotting A = [3, 5, 5, 6, 7, 8] B = [12, 14, 17, 20, 22, 27] #create scatterplot, specifying marker size to be 40 plt. scatter (A, B, s= 40 ) #add arrow to plot plt. arrow (x= 4 , y= 18 , dx= 0 , dy= 5 , width= .08 ) #add annotation plt. annotate (' General direction ', xy = (3.4, 17)) #displayplot plt. show ()
Додаткові ресурси
Як побудувати кола в Matplotlib (з прикладами)
Як малювати прямокутники в Matplotlib (з прикладами)