Matplotlib.axes.Axes.set_path_effects() in Python
Last Updated :
30 Apr, 2020
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:
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:
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:
Share your thoughts in the comments
Please Login to comment...