📌  相关文章
📜  Python中的 Matplotlib.axes.Axes.set_path_effects()

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

Python中的 Matplotlib.axes.Axes.set_path_effects()

Matplotlib是Python中的一个库,它是 NumPy 库的数值数学扩展。 Axes 类包含大部分图形元素:Axis、Tick、Line2D、Text、Polygon 等,并设置坐标系。 Axes 的实例通过回调属性支持回调。

matplotlib.axes.Axes.set_path_effects()函数

matplotlib 库的 axes 模块中的Axes.set_path_effects()函数用于设置路径效果。

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

示例 1:

# 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()

输出:

示例 2:

# 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()

输出: