📌  相关文章
📜  Python中的 Matplotlib.artist.Artist.set_path_effects()

📅  最后修改于: 2022-05-13 01:54:37.455000             🧑  作者: Mango

Python中的 Matplotlib.artist.Artist.set_path_effects()

Matplotlib是Python中的一个库,它是 NumPy 库的数值数学扩展。 Artist 类包含呈现为 FigureCanvas 的对象的 Abstract 基类。图中所有可见元素都是 Artist 的子类。

matplotlib.artist.Artist.set_path_effects() 方法

matplotlib 库的 Artist 模块中的set_path_effects() 方法用于设置路径效果。

下面的示例说明了 matplotlib 中的 matplotlib.artist.Artist.set_path_effects()函数:

示例 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()

输出:

示例 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()

输出: