Matplotlib을 사용하여 연속 함수를 그리는 방법을 알 수 없습니다. 산점도를 그릴 방법이 있지만 연속적인 음모가 필요합니다.실시간으로 연속 함수 업데이트
여기 내 코드입니다 :
import matplotlib.pyplot as plt
from matplotlib.pyplot import autoscale
import matplotlib.animation as animation
import numpy
class MyPlot():
def __init__(self):
self.index = 0
self.setup()
def setup(self):
plt.ion()
self.fig, self.ax = plt.subplots()
self.line = self.ax.plot([],[])
autoscale()
plt.show()
def anim(self, i):
self.line.set_ydata(i) # update the data
return self.line,
def add(self, val):
print self.index, val
self.ax.plot(self.index, val)
animation.FuncAnimation(self.fig, self.anim, repeat=False)
plt.pause(0.05)
#if(self.index >= ntests):
self.index+=1
if __name__== "__main__":
import time
from random import random
p = MyPlot()
for i in range(100):
p.add(random())
time.sleep(0.5)
이 작동하지만, 아무것도 그리지 않습니다. 그러나 플롯 자체가 크기가 조정됩니다.
가능한 복제 (http://stackoverflow.com/questions/10944621/dynamically-updating-plot-in-matplotlib) –
에서 찾을 수 있습니다 업데이트 가능하지만 프리젠 테이션 품질의 그래프를위한 것이지 실시간 업데이트 된 디스플레이를위한 것이 아닙니다. vispy http://vispy.org/ –
@ JasonS를 살펴볼 수 있습니다. 보통 문제를 해결할 수있는 코멘트 작성자의 무능력을 다루려고 시도하기 때문에 의견을 좀 엿보세요. 그렇지 않아요. 링크 주셔서 감사합니다 :) –