Matplotlib.artist.artist.update_from()
Python matplotlib库的artist模块中的update_from()方法用于将属性从其他复制到self。
语法:Artist.update_from(self, other)
参数:该方法接受以下参数。
- other:该参数是要更新的属性。
这个方法返回artist的所有属性的字典。
下面的例子说明了matplotlib中的matplotlib.artist.artist.update_from()函数:
示例1
# Implementation of matplotlib function
from matplotlib.artist import Artist
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.legend_handler import HandlerLine2D
x = np.linspace(0, 3 * np.pi)
y1 = np.sin(x)
y2 = np.cos(x)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x, y1, c ='b', label ='y1', linewidth = 1.0)
ax.plot(x, y2, c ='g', label ='y2')
linewidth = 7
def update(prop1, prop2):
Artist.update_from(prop1, prop2)
prop1.set_linewidth(7)
plt.legend(handler_map ={plt.Line2D : HandlerLine2D(update_func = update)})
fig.suptitle('matplotlib.artist.Artist.update()\
function Example', fontweight ="bold")
plt.show()
输出:
示例2
# Implementation of matplotlib function
from matplotlib.artist import Artist
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.transforms as mtransforms
fig, ax = plt.subplots()
l1, = ax.plot([0.1, 0.5, 0.9],
[0.1, 0.9, 0.5],
"bo-")
l2, = ax.plot([0.1, 0.5, 0.9],
[0.5, 0.2, 0.7],
"ro-")
for l in [l1, l2]:
xx = l.get_xdata()
yy = l.get_ydata()
shadow, = ax.plot(xx, yy)
Artist.update_from(shadow, l)
ot = mtransforms.offset_copy(l.get_transform(),
ax.figure,
x = 4.0,
y =-6.0,
units ='points')
shadow.set_transform(ot)
fig.suptitle('matplotlib.artist.Artist.update_from()\
function Example', fontweight ="bold")
plt.show()
输出: