Python matplotlib 라 이브 러 리 로 간단 한 애니메이션 만 드 는 법 을 알려 드릴 게 요.

matplotlib 간단 한 애니메이션 만 들 기
애니메이션 은 한 동안 그림 을 빠르게 연속 으로 다시 그 리 는 과정 입 니 다.
matplotlib 는 간단 한 애니메이션 그리 기 를 처리 하 는 방법 을 제공 합 니 다.

import matplotlib.animation as ma
def update(number):
    pass

#   30  ,    update
ma.FuncAnimation(
    mp.gcf(),   #        
    update,     #         
    interval=30 #   30  ,    update
)  
사례 1:
각종 색깔 의 기포 100 개 를 무 작위 로 생 성하 여 그들 을 끊임없이 증가 시 켰 다.
1.기포 100 개 를 무 작위 로 생 성 한다.
2.기포 마다 네 가지 속성 이 있 습 니 다:position,size,growth,color
3.모든 기포 들 을 창 에 그립 니 다.
4.애니메이션 을 켜 서 update 함수 에서 모든 기포 의 속성 을 업데이트 하고 다시 그립 니 다.

"""
    
1.     100   .
2.           : position, size, growth, color
3.            .
4.     , update                 
"""
import numpy as np
import matplotlib.pyplot as mp
import matplotlib.animation as ma

n = 100
balls = np.zeros(n, dtype=[
		('position', float, 2), #     
		('size', float, 1),     #     
		('growth', float, 1),   #     
		('color', float, 4)])   #     
#        
# uniform:  0 1    ,  n 2    
balls['position']=np.random.uniform(0,1,(n,2))
balls['size']=np.random.uniform(50,70,n)
balls['growth']=np.random.uniform(10,20,n)
balls['color']=np.random.uniform(0,1,(n,4))
#   100   
mp.figure('Bubble', facecolor='lightgray')
mp.title('Bubble', fontsize=18)
mp.xticks([])
mp.yticks([])
sc = mp.scatter(balls['position'][:,0], 
	       balls['position'][:,1],
	       balls['size'], 
	       color=balls['color'])

#     
def update(number):
	balls['size'] += balls['growth']
	#        ,      
	boom_i = number % n
	balls[boom_i]['size'] = 60
	balls[boom_i]['position']= \
			np.random.uniform(0, 1, (1, 2))
	#       
	sc.set_sizes(balls['size'])
	sc.set_offsets(balls['position'])

anim = ma.FuncAnimation(
	mp.gcf(), update, interval=30)

mp.show()
在这里插入图片描述
사례 2

"""
     
"""
import numpy as np
import matplotlib.pyplot as mp
import matplotlib.animation as ma

mp.figure('Signal', facecolor='lightgray')
mp.title('Signal', fontsize=16)
mp.xlim(0, 10)
mp.ylim(-3, 3)
mp.grid(linestyle=':')
pl = mp.plot([],[], color='dodgerblue',
		label='Signal')[0]
#     
def update(data):
	t, v = data
	x, y = pl.get_data()  #x y: ndarray  
	x = np.append(x, t)
	y = np.append(y, v)
	#       
	pl.set_data(x, y)
	#      
	if x[-1]>5:
		mp.xlim(x[-1]-5, x[-1]+5)

x = 0
def generator():
	global x
	y = np.sin(2 * np.pi * x) * \
		np.exp(np.sin(0.2 * np.pi * x))
	yield (x, y)
	x += 0.05

anim = ma.FuncAnimation(mp.gcf(), 
	update, generator, interval=30)
mp.show()
在这里插入图片描述
Python matplotlib 로 간단 한 애니메이션 을 만 드 는 것 을 가 르 치 는 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 matplotlib 애니메이션 콘 텐 츠 는 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기