2

matplotlib のウィンドウ/図について質問があります。これが可能かどうかはわかりませんが、可能かどうかを知りたいです。基本的に、スクリプト全体を実行すると、最後に matplotlib を使用してグラフがプロットされます。スクリプトを再度実行した後に新しいグラフを作成するには、そのグラフ ウィンドウを閉じる必要があります。

フィギュアを閉じずに開いたままにする方法はありますか?

例を挙げましょう:

スクリプトを実行してグラフ x をプロットします。

次に、このグラフを画面に表示したままにして、スクリプトを変更し、グラフを再度プロットして、古いグラフと新しいグラフを表示できるようにします。したがって、n 個のグラフが表示される場合があります。

スクリプト内に新しい図をプロットしたくないことに注意してください。グラフを保存せずに、グラフを表示して変更を加え、新しいグラフを表示できるようにしたいだけです。

編集

これは私のコードのプロットセクションです:

def plot_data(atb_mat_2, sd_index, sd_grad):#, rtsd):#, sd_index, sd_grad):
    fig = plt.figure()
    fig, (ax0, ax1, ax4, ax2, ax3) = plt.subplots(nrows=5, figsize=(15,10), num='Current Relative Method'+'  ' + path)
    ax0.plot(atb_mat_2)
    ax0.set_title('Relative Track',fontsize=11)
    ax0.set_ylim([-10,10])
    if len(sd_index)!=0:
        if len(sd_index)>1:
            for i in range(1, len(sd_index)):
                if sd_grad[i]==1:
                    ax0.axvspan(sd_index[i-1],sd_index[i], edgecolor='r', lw=None, alpha=0.1)
    ax1.plot(rtsd)
    ax1.set_title('RT Standard Deviation',fontsize=11)
    ax1.set_ylim([0,250])
    ax4.plot(abs_track_data)
    ax4.set_title('Absolute Track',fontsize=11)
    ax4.set_ylim([3000,5000])
    ax2.plot(splitpo)
    ax2.set_title('Track Split',fontsize=11)
    ax2.set_ylim([0,20])
    ax3.plot(ts)
    ax3.set_title('TS Standard Deviation',fontsize=11)
    ax3.set_ylim([0,100])

    fig.tight_layout()
    plt.show()

私はかなり新しいので、この答えが明らかである場合は、多くのアドバイスに感謝します。

4

1 に答える 1

1

を使用して実行できますipython

  1. スクリプトを作成し、(たとえば) として保存しますtest.py。スクリプトは図を作成し、プロットを実行してプロットを表示する必要があります。

    import numpy as np
    import matplotlib.pyplot as plt 
    
    fig = plt.figure()
    x = np.linspace(-1, 1, 100)
    y = np.sin(x)
    plt.plot(x, y)
    plt.show()
    
  2. ipython次を使用してコンソールを起動します。

    ipython --pylab=qt
    

    または、使用したいバックエンド。

  3. ipythonシェルで次のように入力します。

    %run /path/to/the/test.py
    

    これにより図が作成され、プロットが表示されます。

  4. その後、スクリプトを変更します。たとえば、5 行目を次のように変更します。

    x = np.linspace(-0, 2, 100)
    
  5. シェルで次の%runコマンドを繰り返します。ipython

    %run /path/to/the/test.py
    

    別の図が新しいプロットとともにポップアップします。古い図も表示されます (これは、それを削除したり置き換えたりしません)。

于 2013-09-02T09:29:15.217 に答える