30

では、とmatplotlib.pyplotはどう違いますか? それらは同じように機能しますか?plt.clf()plt.close()

各反復の最後に図を作成してプロットを保存するループを実行しています。最初の数回の試行では、プロットはその後のすべてのプロットで古い数値を保持していました。古い数字のない各反復の個々のプロットを探していますが、どちらを使用しても問題ありませんか? 私が実行している計算には非常に時間がかかり、それをテストするには非常に時間がかかります。

4

4 に答える 4

40

plt.close()Figure ウィンドウを完全に閉じます。ここでplt.clf()は、Figure をクリアするだけです。別のプロットをその上にペイントすることもできます。

必要に応じて、 を優先するか、行オブジェクト自体 (呼び出しplt.clf()によってリストに返される) のハンドルを保持し、後続の反復でそれらを使用する必要があるようです。 plot.set_data

于 2013-05-21T03:50:01.283 に答える
2

2 つの機能にはわずかな違いがあります。

plt.close() - 個別のウィンドウにグラフを完全にプロットし、メモリを解放し、各ウィンドウを表示用に保持します。

plt.clf() -同じウィンドウに次々と グラフを表示すると言えます

説明のために、X 軸と Y 軸に年とビューをそれぞれパラメータとして 2 つのグラフをプロットしました。最初はクローズド関数を使用していました.2 つの別々のウィンドウにグラフが表示されました…</p>

その後、clf() を使用してプログラムを実行すると、グラフがクリアされ、同じウィンドウに次のグラフが表示されます。つまり、図 1 です。コード スニペットは次のとおりです。

    import matplotlib.pyplot as plt
    year = [2001,2002,2003,2004]
    Views= [12000,14000,16000,18000]
    Views2 = [15000,1800,24000,84000]
    plt.plot(year,Views)
    plt.show()
    plt.clf()
    plt.plot(year,Views2)
    plt.show()
    plt.clf()

クローズ機能付き画像1


クローズ機能付き画像2


clf関数を使用した画像1


画像 2 と clf 関数


于 2019-12-22T15:34:35.593 に答える