-1
我想用matplotlib动画在社区的帮助下实时绘制两个列表,我可以绘制我的图形。我现在想要简化我的实时动画以及重构我的图形。如何在matplotlib动画中将图形尺寸调整为固定尺寸
这里是我的目标:
- 标绘X轴:列表 “my_average”
- 剧情y轴的长度:在列表 “my_average” 元素
- y轴限制-1到1(在列表中的所有元素我“my_average”是-1到1之间)
我不知道我在做什么错我的代码迄今:
class StdOutListener(StreamListener):
def on_data(self, data):
json_load = json.loads(data)
texts = json_load['text'] # string
#print(texts)
#drop zero in list
if 0 in my_list: my_list.remove(0)
#print
#calculate average
average = numpy.mean(my_list)
b = my_average.append(average)
print "average =", my_average
def __init__(self):
self.start_time = time.time()
self.x = [len(my_average)]
self.y = [my_average]
self.my_average = []
self.line_actual, = plot(self.x, self.y) # line stores a Line2D we can update
self.line_average, = plot(self.x, self.my_average) # line stores a Line2D we can update
def on_data(self, new_value):
time_delta = time.time() - self.start_time # on our x axis we store time since start
self.x.append(time_delta)
self.y.append(new_value)
self.my_average.append(numpy.mean(self.y))
self.line_actual.set_data(self.x, self.y)
self.line_average.set_data(self.x, self.my_average)
ylim([min(self.y), max(self.y)]) # update axes to fit the data
xlim([0, max(self.x)])
draw() # redraw the plot
ion() # ion() allows matplotlib to update animations.
out_listener = StdOutListener()
for i in range(10000):
out_listener.on_data(i + numpy.random.randint(-5,5))
预先感谢您
有你为什么张贴〜20个空行代码中的具体原因请格式化你的代码正常。 – hitzg
有问题吗? – hitzg
@hitzg对不起,他们已被删除额外的空间。 现在的问题是,我该如何调整这张图的固定y轴限制(-1,1)和我的X轴如何绘制列表的长度。 – RustyShackleford