Python matplotlib 라 이브 러 리 로 간단 한 애니메이션 만 드 는 법 을 알려 드릴 게 요.
3676 단어 Pythonmatplotlib애니메이션
애니메이션 은 한 동안 그림 을 빠르게 연속 으로 다시 그 리 는 과정 입 니 다.
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 애니메이션 콘 텐 츠 는 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.