Python 中的 matplotlib.artist.artist.set_clip_box()
原文:https://www.geesforgeks.org/matplotlib-artist-artist-set_clip_box-in-python/
Matplotlib 是 Python 中的一个库,是 NumPy 库的数值-数学扩展。艺术家类包含抽象基类,用于渲染到图形画布中的对象。图形中所有可见的元素都是艺术家的子类。
matplotlib.artist.artist.set_clip_box()方法
matplotlib 库的 artist 模块中的 set_clip_box()方法用于设置 artist 的剪辑 Bbox。
语法: Artist.set_clip_box(self,clipbox)
参数:该方法只接受一个参数。
- 剪贴簿:这个参数是 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()
输出: