Matplotlib是Python中令人惊叹的可视化库,用于二维阵列图。 Matplotlib是一个基于NumPy数组的多平台数据可视化库,旨在与更广泛的SciPy堆栈配合使用。
matplotlib.pyplot.findobj()
此函数用于递归查找艺术家中包含的艺术家的所有实例。创建过滤器以匹配艺术家对象,该艺术家对象查找并返回匹配艺术家的列表。艺术家对象是指matplotlib.artist
负责在画布上绘制颜料的类。
用法: matplotlib.pyplot.findobj(o=None, match=None, include_self=True)
参数:
- match:此参数用于创建过滤器以匹配搜索的艺术家对象。这可能是三件事之一;
- None:这将返回艺术家中的所有对象。
- A function:具有签名的函数,例如def match(artist:Artist)->布尔值。此函数的结果包含艺术家,该艺术家为其返回True。
- 一个类实例:此结果包含相同类或其子类之一的艺术家(实例检查),例如Line2D
- include_self:这个参数接受一个布尔值,并且对我来说包含它本身以检查匹配项列表。
返回值:它返回艺术家列表
范例1:
import matplotlib.pyplot as plt
import numpy as np
h = plt.figure()
plt.plot(range(1,11),
range(1,11),
gid = 'dummy_data')
legend = plt.legend(['the plotted line'])
plt.title('figure')
axis = plt.gca()
axis.set_xlim(0,5)
for p in set(h.findobj(lambda x:x.get_gid() == 'dummy_data')):
p.set_ydata(np.ones(10)*10.0)
plt.show()
输出:
范例2:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.text as text
m = np.arange(3, -4, -.2)
n = np.arange(3, -4, -.2)
o = np.exp(m)
p = o[::-1]
figure, axes = plt.subplots()
plt.plot(m, o, 'k--', m, p,
'k:', m, o + p, 'k')
plt.legend((' Modelset', 'Dataset',
'Total string length'),
loc ='upper center',
shadow = True)
plt.ylim([-1, 10])
plt.grid(True)
plt.xlabel(' Modelset --->')
plt.ylabel(' String length --->')
plt.title('Min. Length of String')
# Helper function
def find_match(x):
return hasattr(x, 'set_color') and not hasattr(x, 'set_facecolor')
# calling the findobj function
for obj in figure.findobj(find_match):
obj.set_color('black')
# match on class instances
for obj in figure.findobj(text.Text):
obj.set_fontstyle('italic')
plt.show()
输出:
相关用法
注:本文由纯净天空筛选整理自RajuKumar19大神的英文原创作品 Matplotlib.pyplot.findobj() in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。