노트의 몇 :
우선 상황이 될 이유가 점진적으로 느린 같은 위치에 점점 더 많은 중복 선을 그릴하고 있다는 점이다. 그러나, 더 나은 아직
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.figure()
for n in range(len(x)):
plt.cla()
plt.plot(x[:n], y[:n], color='k')
plt.axis([0, 10, 0, 1])
plt.savefig('Frame%03d.png' %n)
동시에 x와 y 데이터를 모두 업데이트 :
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100)
y = np.sin(x)
fig, ax = plt.subplots()
line, = ax.plot(x, y, color='k')
for n in range(len(x)):
line.set_data(x[:n], y[:n])
ax.axis([0, 10, 0, 1])
fig.canvas.draw()
fig.savefig('Frame%03d.png' %n)
그리고 만약 '
빠른 수정 플롯 각 시간을 취소하는 것입니다 애니메이션 모듈을 사용하고 싶습니다. (참고 : blit=True
은 일부 백엔드 (예 : OSX)에서 제대로 작동하지 않을 수 있으므로 문제가있는 경우 blit=False
을 시도하십시오.) :
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
x = np.linspace(0, 10, 100)
y = np.sin(x)
fig, ax = plt.subplots()
line, = ax.plot(x, y, color='k')
def update(num, x, y, line):
line.set_data(x[:num], y[:num])
line.axes.axis([0, 10, 0, 1])
return line,
ani = animation.FuncAnimation(fig, update, len(x), fargs=[x, y, line],
interval=25, blit=True)
ani.save('test.gif')
plt.show()
다시 만들려고하는 그래픽의 샘플 (링크)이 있습니까? 파이썬에는 사용할 수있는 애니메이션 패키지가 많이 있습니다. –
@MylesBaker 다음은 위 코드의 예입니다. http://media.giphy.com/media/3xz2BD48KS3fOGzAJ2/giphy.gif – Blink
데이터가 많을수록 그래프 한도를 업데이트 하시겠습니까? 드러난? (즉, 그래프 다시 그리기)? 또는 도메인 및 범위를 알고 있습니까? –