Open In App

Matplotlib.axes.Axes.set_path_effects() in Python

Last Updated : 30 Apr, 2020
Comments
Improve
Suggest changes
Like Article
Like
Report
Matplotlib is a library in Python and it is numerical – mathematical extension for NumPy library. The Axes Class contains most of the figure elements: Axis, Tick, Line2D, Text, Polygon, etc., and sets the coordinate system. And the instances of Axes supports callbacks through a callbacks attribute.

matplotlib.axes.Axes.set_path_effects() Function

The Axes.set_path_effects() function in axes module of matplotlib library is used to set the path effects.
Syntax: Axes.set_path_effects(self, path_effects) Parameters: This method accepts only one parameters.
  • path_effects : This parameter is the AbstractPathEffect.
Returns: This method does not return any value.
Below examples illustrate the matplotlib.axes.Axes.set_path_effects() function in matplotlib.axes: Example 1: Python3
# Implementation of matplotlib function
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.patheffects as path_effects


fig, ax = plt.subplots()
t = ax.text(0.02, 0.5,
            'GeeksForGeeks',
            fontsize = 40, 
            weight = 1000, 
            va ='center')

t.set_path_effects([path_effects.PathPatchEffect(offset =(4, -4),
                                                 hatch ='xxxx',
                                                 facecolor ='gray'),
                    path_effects.PathPatchEffect(edgecolor ='white', 
                                                 linewidth = 1.1,
                                                 facecolor ='black')])
 
fig.suptitle('matplotlib.axes.Axes.set_path_effects() function\
Example\n', fontweight ="bold")

plt.show()
Output: Example 2: Python3
# Implementation of matplotlib function
import matplotlib.pyplot as plt
import matplotlib.patheffects as PathEffects
import numpy as np


fig, ax1 = plt.subplots()
ax1.imshow([[1, 2], [2, 3]])

txt = ax1.annotate("Fourth",
                   (1., 1.),
                   (0., 0),
                   arrowprops = dict(arrowstyle ="->",
                                     connectionstyle ="angle3",
                                     lw = 2),
                   size = 20, ha ="center",
                   path_effects =[PathEffects.withStroke(linewidth = 3,
                                                         foreground ="w")])

txt.arrow_patch.set_path_effects([
    PathEffects.Stroke(linewidth = 5, 
                       foreground ="w"),
    PathEffects.Normal()])

ax1.grid(True, linestyle ="-")

pe = [PathEffects.withStroke(linewidth = 3,
                             foreground ="w")]

for l in ax1.get_xgridlines() + ax1.get_ygridlines():
    l.set_path_effects(pe)
 
fig.suptitle('matplotlib.axes.Axes.set_path_effects() \
function Example\n', fontweight ="bold")

plt.show()
Output:

Next Article
Practice Tags :

Similar Reads