我正在尝试使用matplotlib制作一些动画。
fig = plt.figure()
ax = fig.gca(projection='3d')
...
for k in xrange(10):
...
ax.cla()
ax.plot_surface(X, Y, field.real, rstride=2, cstride=2, cmap=cm.hot,
linewidth=0, antialiased=False)
ax.set_zlim3d(-50, 150)
filename = "out_%d.png" % k
fig.savefig(filename)
...
起初我没有使用cla(),因此在每次迭代时我都得到了相同的图片(http://dl.dropbox.com/u/4988243/out_0.png)。当我添加ax.cla()它没有动画但我有一些不需要的轴,我不知道如何摆脱(http://dl.dropbox.com/u/4988243/out_1.png)。
答案 0 :(得分:0)
我在ubuntu 11.04上从github运行最新版本的Matplotlib。我写了一个代码片段,每次我创建一个新的轴实例,这似乎产生了你想要的轴完整的图。你看到的问题可能只是一个bug,但我认为这可以解决它。我制作了随机数字图,仅用于演示目的。
import numpy
from matplotlib import pyplot
X = numpy.arange(250)
Y = numpy.arange(250)
X, Y = numpy.meshgrid(X, Y)
fig = pyplot.figure()
for ind in range(10):
Z = numpy.random.random( (250,250) )
ax = fig.add_subplot(111,projection='3d')
ax.plot_surface(X, Y, Z, cmap='hot', linewidth=0, cstride = 2, rstride = 2, antialiased=False)
ax.set_zlim3d(0, 1)
pyplot.savefig('example' + str(ind) + '.png' )