私の質問は「広すぎる」カテゴリのようなものですが、すでに何時間も探していますが、私の問題はまだあります。pyplotオブジェクトとビヘイビアの説明
私は自分のPlotter関数でfor
サイクルで複数(例えば10個)のプロットを作成してから、savefig()
を使用して保存しています。その後、私は別のプロットを作り、それを見せたいと思います。私が何をしても、私はまだ9または10の追加有効/空のプロットを取得します。
for ...:
pyplot = Plotter.plotStuff(data[i])
pyplot.savefig(path)
pyplot.clf()
pyplot.plot(new_data)
pyplot.show() # showing additional plots
私の主な質問は、どのように私は "新鮮なスタートを得る"ことができ、私の以前のプロットを消去することができますか?私はpyplot.clf()
とpyplot.cla()
とpyplot.hold(False)
を試してみました。
また、パイロット/フィギュア/サブプロットのダイナミクスの仕組みを説明してください。新しいプロットを作成するとき、データ/以前のプロットが保存されていますか?私は前に "余分な空のプロット"の問題を抱えていましたが、それがうまくいくまでコマンドを並べ替えましたが、私はまだ何の手がかりもありません。
たとえば、私はfigure(), subplots_adjust(), plot(), xticks(), yticks()
コマンドを(この順序で)持っています。注文とは何でしょうか、なぜですか?
ありがとう、私は私の髪を引っ張っています。
'pyplot = Plotter.plotStuff(data [i])'あなたが 'pyplot'の上に割り当てているので、' pyplot'が 'matplotlib.pyplotあなたは失望します。 'Plotter.plotStuff'オブジェクトがどんな種類のオブジェクトを返すのかわからなくても、それ以上のことは言えません。 –
@ali_m 'plotStuff'関数は、' pyplot.figure() '、...、' pyplot.yticks() '、そして' return pyplot'を含んでいます。実際には、以下の答えで '@cmmnnという' pyplot.close() 'を実行すると動作しています。修正された' pyplot'モジュールで 'pyplot'モジュールをオーバーライドすることは問題ではありません。それはまだ確信しています。 – Rolf
@ali_m pyplotの振る舞い:xlwingsと似ていて、 'pyplot.figure(number)'で図を選択します。次に、 'pyplot.function()'のようなpyplot関数を呼び出すだけで、選択したFigureに効果を与えます。しかし、色のサイクルを変更しようとすると、次のように空のFigure 4が作成され、Figure 5にプロットが表示されます: 'pyplot.figure(4)、ax = pyplot.subplots()[1]、 axplot.set_prop_cycle(cycler( 'color'、['y'、 'r']))、pyplot.plot(data) ' – Rolf