我有一个for循环,如下所示:
for index, t in enumerate(Coords_at_different_energies):
fig0 = pylab.figure(0)
ax0 = Axes3D(fig0)
arr_t = np.array(t)
ax0.scatter(arr_t[:,0], arr_t[:,1], arr_t[:,2], color = colors[index])
pyplot.show()
其中Coords_at_different_energies是坐标列表和颜色列表是一个颜色列表。
当我运行它时,只有最后一个要绘制的数据集似乎仍然存在,即我认为循环会在每次迭代时覆盖先前的数据集。有没有办法解决这个问题?
答案 0 :(得分:1)
使用figure
创建一个新的数字,删除已存在的任何内容。同样,使用Axes3D(fig0)
创建一个新轴,删除旧轴。将图形和轴创建移动到循环外部,仅执行循环内的实际绘图。