Saturday, October 11, 2025
HomeLanguagesMatplotlib.patches.ArrowStyle class in Python

Matplotlib.patches.ArrowStyle class in Python

Matplotlib is an amazing visualization library in Python for 2D plots of arrays. Matplotlib is a multi-platform data visualization library built on NumPy arrays and designed to work with the broader SciPy stack.

matplotlib.patches.ArrowStyle

The matplotlib.patches.ArrowStyle class is a container class that defines many arrowstyle classes, that are used to make an arrow path along a provided path. These are primarily used with FancyArrowpatch.

Syntax: class matplotlib.patches.ArrowStyle

The below subclasses are defined for various arrowstyle;

Class Name Attributes
Curve – None
CurveB -> head_length=0.4, head_width=0.2
BracketB -[ widthB=1.0, lengthB=0.2, angleB=None
CurveFilledB -|> head_length=0.4, head_width=0.2
CurveA <- head_length=0.4, head_width=0.2
CurveAB <-|> head_length=0.4, head_width=0.2
CurveFilledA <|- head_length=0.4, head_width=0.2
CurveFilledAB <|-|> head_length=0.4, head_width=0.2
BracketA ]- widthA=1.0, lengthA=0.2, angleA=None
BracketAB ]-[ widthA=1.0, lengthA=0.2, angleA=None, widthB=1.0, lengthB=0.2, angleB=None
Fancy fancy head_length=0.4, head_width=0.4, tail_width=0.4
Simple simple head_length=0.5, head_width=0.5, tail_width=0.2
Wedge wedge tail_width=0.3, shrink_factor=0.5
BarAB |-| widthA=1.0, angleA=None, widthB=1.0, angleB=None


Example 1:




import matplotlib.pyplot as plt
from matplotlib.patches import ArrowStyle
  
plt.figure(1, figsize =(9, 9))
  
ArrowStyle("Wedge")
  
ax = plt.subplot(111)
  
ax.annotate("",
            xy =(0.2, 0.2), xycoords ='data',
            xytext =(0.8, 0.8), textcoords ='data',
            arrowprops = dict(arrowstyle ="Wedge",
                            connectionstyle ="arc3"), 
            )
  
plt.show()


Output:

Example 2:




import matplotlib.patches as mpatch
import matplotlib.pyplot as plt
  
  
figheight = 8
fig = plt.figure(figsize =(9, figheight), dpi = 80)
fontsize = 0.4 * fig.dpi
  
def make_boxstyles(ax):
    styles = mpatch.BoxStyle.get_styles()
  
    for i, (stylename, styleclass) in enumerate(sorted(styles.items())):
        ax.text(0.5, 
                (float(len(styles)) - 0.5 - i)/len(styles),
                stylename,
                ha ="center",
                size = fontsize,
                transform = ax.transAxes,
                bbox = dict(boxstyle = stylename, 
                            fc ="g", ec ="r"))
  
def make_arrowstyles(ax):
    styles = mpatch.ArrowStyle.get_styles()
  
    ax.set_xlim(0, 4)
    ax.set_ylim(0, figheight)
  
    for i, (stylename, styleclass) in enumerate(sorted(styles.items())):
          
        # /figheight
        y = (float(len(styles)) - 0.25 - i
        p = mpatch.Circle((3.2, y), 0.2, fc ="r")
        ax.add_patch(p)
  
        ax.annotate(stylename, (3.2, y),
                    (2., y),
                      
                    # xycoords ="figure fraction",
                    # textcoords ="figure fraction",
                    ha ="right", va ="center",
                    size = fontsize,
                    arrowprops = dict(arrowstyle = stylename,
                                    patchB = p,
                                    shrinkA = 5,
                                    shrinkB = 5,
                                    fc ="w", ec ="r",
                                    connectionstyle ="arc3, rad =-0.05",
                                    ),
                    bbox = dict(boxstyle ="square", fc ="g"))
  
    ax.xaxis.set_visible(False)
    ax.yaxis.set_visible(False)
  
  
ax1 = fig.add_subplot(121, frameon = False, xticks =[], yticks =[])
make_boxstyles(ax1)
  
ax2 = fig.add_subplot(122, frameon = False, xticks =[], yticks =[])
make_arrowstyles(ax2)
  
  
plt.show()


Output:

Last Updated :
27 Apr, 2020
Like Article
Save Article

<!–

–>

Similar Reads
Related Tutorials
Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32351 POSTS0 COMMENTS
Milvus
87 POSTS0 COMMENTS
Nango Kala
6720 POSTS0 COMMENTS
Nicole Veronica
11882 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11941 POSTS0 COMMENTS
Shaida Kate Naidoo
6839 POSTS0 COMMENTS
Ted Musemwa
7102 POSTS0 COMMENTS
Thapelo Manthata
6794 POSTS0 COMMENTS
Umr Jansen
6794 POSTS0 COMMENTS