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


Python Matplotlib.axes.Axes.draw_artist()用法及代码示例


Matplotlib是Python中的一个库,它是数字的-NumPy库的数学扩展。轴类包含大多数图形元素:Axis,Tick,Line2D,Text,Polygon等,并设置坐标系。 Axes实例通过callbacks属性支持回调。

matplotlib.axes.Axes.draw_artist()函数

matplotlib库的axiss模块中的Axes.draw_artist()函数用于有效地更新Axes数据。

用法: Axes.draw_artist(self, a)


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

  • a:此参数是要绘制的艺术家。

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

注意:仅在缓存渲染器的初始绘制之后才能使用此方法。

以下示例说明了matplotlib.axes中的matplotlib.axes.Axes.draw_artist()函数:

范例1:

# Implementation of matplotlib function  
from random import randint, choice 
import time 
import matplotlib.pyplot as plt 
import matplotlib.patches as mpatches 
  
  
back_color = "black"
colors = ['red', 'green', 'blue', 'purple'] 
width, height = 4, 4
  
fig, ax = plt.subplots() 
ax.set(xlim =[0, width], ylim =[0, height]) 
  
fig.canvas.draw() 
  
def update():
    x = randint(0, width - 1) 
    y = randint(0, height - 1) 
  
    arti = mpatches.Rectangle( 
        (x, y), 1, 1, 
        facecolor = choice(colors), 
        edgecolor = back_color 
    ) 
    ax.add_artist(arti) 
  
    start = time.time() 
    ax.draw_artist(arti) 
    fig.canvas.blit(ax.bbox) 
    print("Draw at time:", time.time() - start) 
  
timer = fig.canvas.new_timer(interval = 1) 
timer.add_callback(update) 
timer.start() 
  
ax.set_title('matplotlib.axes.Axes.draw_artist()\ 
 function Example')  
  
plt.show() 

输出:

Draw at time:0.37501978874206543
Draw at time:0.015624046325683594
Draw at time:0.03127431869506836
Draw at time:0.015625953674316406
Draw at time:0.015601396560668945
Draw at time:0.015614986419677734
........
so on...

范例2:

# Implementation of matplotlib function  
import matplotlib.pyplot as plt 
import numpy as np 
import time 
  
  
fig, ax = plt.subplots() 
line, = ax.plot(np.random.randn(100)) 
  
tstart = time.time() 
num_plots = 0
fig.canvas.draw() 
  
while time.time()-tstart < 5:
    line.set_ydata(np.random.randn(100)) 
    ax.draw_artist(ax.patch) 
    ax.draw_artist(line) 
    num_plots += 1
      
ax.set_title('matplotlib.axes.Axes.draw_artist() \ 
function Example')  
  
plt.show() 

输出:




相关用法


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