当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Python Matplotlib.artist.Artist.set_animated()用法及代码示例

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

matplotlib.artist.Artist.set_animated() 方法

matplotlib 库的艺术家模块中的 set_animated() 方法用于设置艺术家的动画状态。

用法:Artist.set_animated(self, b)

参数:此方法接受以下参数。

  • b:此参数是布尔值。

返回值:此方法不返回任何值。

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

范例1:


# Implementation of matplotlib function
from matplotlib.artist import Artist
import numpy as np 
import matplotlib.pyplot as plt 
import matplotlib.animation as animation 
    
    
data = np.array([[1, 2, 3, 4, 5],  
                 [7, 4, 9, 2, 3]]) 
    
fig = plt.figure() 
ax = plt.axes(xlim =(0, 20), ylim =(0, 20)) 
    
line, = ax.plot([], [], 'r-') 
annotation = ax.annotate('', 
                         xy =(data[0][0], 
                              data[1][0])) 
    
Artist.set_animated(annotation, True) 
    
def init(): 
    return line, annotation 
    
def update(num): 
    newData = np.array([[1 + num, 
                         2 + num / 2, 
                         3, 
                         4 - num / 4, 
                         5 + num], 
                        [7, 4,  
                         9 + num / 3, 
                         2, 3]]) 
        
    line.set_data(newData) 
    return line, annotation 
    
anim = animation.FuncAnimation(fig, 
                               update,  
                               frames = 25, 
                               init_func = init, 
                               interval = 200, 
                               blit = True)
fig.suptitle('matplotlib.artist.Artist.set_animated()\
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.animation as animation 
    
    
fig, ax = plt.subplots() 
    
ax.set_xlim([-1, 1]) 
ax.set_ylim([-1, 1]) 
    
L = 50
theta = np.linspace(0, 2 * np.pi, L) 
r = np.ones_like(theta) 
    
x = r * np.cos(theta) 
y = r * np.sin(theta) 
    
line, = ax.plot(1, 0, 'ro') 
    
annotation = ax.annotate( 
    'annotation', xy =(1, 0), xytext =(-1, 0), 
    arrowprops = {'arrowstyle':"->"} 
) 
Artist.set_animated(annotation, False) 
    
    
def update(i): 
    
    new_x = x[i % L] 
    new_y = y[i % L] 
    line.set_data(new_x, new_y) 
    
    annotation.set_position((-new_x, -new_y)) 
    annotation.xy = (new_x, new_y) 
    
    return line, annotation 
    
ani = animation.FuncAnimation( 
    fig, update, interval = 500, blit = False
)
  
fig.suptitle('matplotlib.artist.Artist.set_animated()\
function Example', fontweight ="bold") 
  
plt.show()

输出:



注:本文由纯净天空筛选整理自SHUBHAMSINGH10大神的英文原创作品 Matplotlib.artist.Artist.set_animated() in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。