Open In App

Matplotlib.artist.Artist.set_path_effects() in Python

Last Updated : 10 May, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

Matplotlib is a library in Python and it is numerical – mathematical extension for NumPy library. The Artist class contains Abstract base class for objects that render into a FigureCanvas. All visible elements in a figure are subclasses of Artist.

matplotlib.artist.Artist.set_path_effects() method

The set_path_effects() method in artist module of matplotlib library is used to set the path effects.

Syntax: Artist.set_path_effects(self, path_effects)

Parameters: This method accepts the following parameters.

  • path_effects : This parameter is the AbstractPathEffect..

Returns: This method does not return any value.

Below examples illustrate the matplotlib.artist.Artist.set_path_effects() function in matplotlib:

Example 1:




# Implementation of matplotlib function
from matplotlib.artist import Artist  
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'
    
Artist.set_path_effects(t, [path_effects.PathPatchEffect(offset =(4, -4), 
                                                 hatch ='xxxx'
                                                 facecolor ='lightgreen'), 
                    path_effects.PathPatchEffect(edgecolor ='white',  
                                                 linewidth = 1.1
                                                 facecolor ='green')])
  
fig.suptitle('matplotlib.artist.Artist.set_path_effects()\
function Example', fontweight ="bold"
  
plt.show()


Output:

Example 2:




# Implementation of matplotlib function
from matplotlib.artist import Artist  
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 Qaud"
                   (1., 1.), 
                   (0., 0), 
                   arrowprops = dict(arrowstyle ="->"
                                     connectionstyle ="angle3"
                                     lw = 2), 
                   size = 20, ha ="center"
                   path_effects =[PathEffects.withStroke(linewidth = 3
                                                         foreground ="w")]) 
    
Artist.set_path_effects(txt.arrow_patch, [ 
    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(): 
    Artist.set_path_effects(l, pe)
      
fig.suptitle('matplotlib.artist.Artist.set_path_effects()\
function Example', fontweight ="bold"
  
plt.show()


Output:



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads