2017-05-09 8 views
1

ループ内にこのグラフがありますが、問題が繰り返しごとに新しいイメージを開きます。plt.clf()は動作していないようです。この問題を解決しますか?Pythonのループで3Dグラフィッククリーンイメージ

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) 

私は、問題は、私はここに

PS掲示コードの一部で発生すると考えているので、私はコードを隠した:私が使用している:

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

答えて

0

をここでの問題は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() 
+0

同じ問題... – QuestionsOverflow

+0

あなたのコードをもっと見せてもらえますか?具体的に 'plt.show()'のループ –

+0

私は要求通りにコードを編集しました。もう一度質問を見てください。 – QuestionsOverflow

関連する問題