Python中的三维图形循环中的干净图像

Python中的三维图形循环中的干净图像,python,python-2.7,matplotlib,mplot3d,Python,Python 2.7,Matplotlib,Mplot3d,我把这个图放在一个循环中,问题是每次迭代都会打开一个新的图像,我的plt.clf()似乎不起作用,我如何解决这个问题 plt.ion() for k in range(1,10): for i in range(0,len(x)): for j in range(0,len(x[i])-1): plt.clf() fig = plt.figure() ax = fig.add_subplot(111, projection

我把这个图放在一个循环中,问题是每次迭代都会打开一个新的图像,我的plt.clf()似乎不起作用,我如何解决这个问题

plt.ion()

for k in range(1,10):

    for i in range(0,len(x)):

        for j in range(0,len(x[i])-1):

       plt.clf()
       fig = plt.figure()
       ax = fig.add_subplot(111, projection='3d')
       ax.set_title('Iteration %s\n' % (str(k)))
       ax.set_xlabel('X')
       ax.set_ylabel('Y')
       ax.set_zlabel('Z')
       ax.set_xlim(-1, 1)
       ax.set_ylim(-1, 1)
       ax.set_zlim(-1, 1)

      plt.show()
      plt.pause(0.05)
我隐藏了代码,因为我相信问题发生在我发布的代码中

附言:我正在使用:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

这里的问题是设置每次迭代的
fig=plt.figure()
,然后使用
plt.gcf().clear()
清理绘图,您应该这样做:

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt

plt.ion()

x = [[1,5],[2,4]]
fig = plt.figure()

for k in range(1,10):

    for i in range(0,len(x)):

        for j in range(0,len(x[i])-1):    

            ax = fig.add_subplot(111, projection='3d')
            ax.set_title('Iteration %s\n' % (str(k)))
            ax.set_xlabel('X')
            ax.set_ylabel('Y')
            ax.set_zlabel('Z')
            ax.set_xlim(-1, 1)
            ax.set_ylim(-1, 1)
            ax.set_zlim(-1, 1)
            plt.show()
            plt.pause(0.5)
            plt.gcf().clear()

你介意多展示你的代码吗?特别是
plt.show()的循环。
我按要求编辑了代码,请看问题again@QuestionsOverflow我编辑了我的答案,它确实没有像我想象的那样有效。