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

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

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

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

matplotlib.artist.Artist.set_clip_box() 方法

matplotlib 库的艺术家模块中的set_clip_box() 方法用于设置艺术家的剪辑 Bbox。

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

示例 1:

# Implementation of matplotlib function
from matplotlib.artist import Artist
import matplotlib.pyplot as plt 
import numpy as np 
from matplotlib.patches import Ellipse 
    
  
delta = 45.0
    
angles = np.arange(0, 360 + delta, delta) 
ells = [Ellipse((2, 2), 5, 2, a) for a in angles] 
    
fig, ax = plt.subplots() 
    
for e in ells: 
    Artist.set_clip_box(e, ax.bbox) 
    e.set_alpha(0.1) 
    ax.add_artist(e) 
    
plt.xlim(-1, 5) 
plt.ylim(-1, 5) 
          
fig.suptitle('matplotlib.artist.Artist.set_clip_box() \
function Example', fontweight ="bold") 
  
plt.show()

输出:

示例 2:

# Implementation of matplotlib function
from matplotlib.artist import Artist
import matplotlib.pyplot as plt 
import numpy as np 
from matplotlib.patches import Ellipse 
      
  
NUM = 200
      
ells = [Ellipse(xy = np.random.rand(2) * 10, 
                width = np.random.rand(),  
                height = np.random.rand(), 
                angle = np.random.rand() * 360) 
        for i in range(NUM)] 
      
fig, ax = plt.subplots(subplot_kw ={'aspect': 'equal'}) 
  
for e in ells: 
    ax.add_artist(e)
    Artist.set_clip_box(e, ax.bbox) 
    e.set_clip_box(ax.bbox) 
    e.set_alpha(np.random.rand()) 
    e.set_facecolor(np.random.rand(4)) 
      
ax.set_xlim(3, 7) 
ax.set_ylim(3, 7) 
      
          
fig.suptitle('matplotlib.artist.Artist.set_clip_box()\
function Example', fontweight ="bold") 
  
plt.show()

输出: