【发布时间】:2016-06-19 00:00:44
【问题描述】:
我想为两个数据集生成不同颜色的散点图。
遵循MatPlotLib: Multiple datasets on the same scatter plot中的建议
我设法绘制了它们。但是,我希望能够更新会影响两组数据的循环内的散点图。我查看了 matplotlib 动画包,但它似乎不符合要求。
我无法从循环中更新绘图。
代码结构如下:
fig = plt.figure()
ax1 = fig.add_subplot(111)
for g in range(gen):
# some simulation work that affects the data sets
peng_x, peng_y, bear_x, bear_y = generate_plot(population)
ax1.scatter(peng_x, peng_y, color = 'green')
ax1.scatter(bear_x, bear_y, color = 'red')
# this doesn't refresh the plots
其中 generate_plot() 从带有附加信息的 numpy 数组中提取相关的绘图信息 (x,y) 坐标,并将它们分配给正确的数据集,以便它们可以被不同地着色。
我已尝试清除和重绘,但似乎无法正常工作。
编辑:稍微澄清一下。我要做的基本上是在同一个图上为两个散点图制作动画。
【问题讨论】:
-
plt.show()可能需要在分散命令之后,通常在循环之外。 -
如果它在循环之外,它会不会只更新一次图形,或者更糟糕的是,将每个散点图(在这种情况下为 2 * gen of them)叠加在最终图形上?跨度>
标签: python animation matplotlib