

現在pythonを用いて何秒かごとの測定を行おうと考えており、グラフを作るため、pythonのmatplotlibを使追うと考えています。  
しかし、下記のようなコードを書くと、ループされたあと、グラフの中に前回読み込んだテキストまで読み込まれてしまい本来表示させたいものとかぶって表示されてしまいます。

どうすれば前のテキストデータを消去し、最新のテキストのデータのみを読み込ませることができるでしょうか？  
よろしくお願いいたします。

[code]

    import datetime
    import time
    import os
    
    from matplotlib import pyplot as plt
    import numpy as np
    
    os.mkdir("test")
    
    oclock = datetime.datetime.today()
    
    while True:
    
        data = np.loadtxt('exp-data.txt',delimiter=' ',unpack=True)
    
        xm = data[:,0]
        ym = data[:,1]
    
        x = xm/1023
        y = ym/1023
    
        plt.plot(x,y)
    
        os.chdir("/home/ienaga/デスクトップ/matplot_test/test")
        plt.savefig('sample.png')
        now = datetime.datetime.now()
        newname = "{0:%Y-%m-%d-%H:%M:%S}.png".format(now)
        a = os.rename("sample.png",newname)
        os.chdir("/home/ienaga/デスクトップ/matplot_test")
    
        time.sleep(5)
    
[/code]


CC BY-SA 3.0
2016-07-12T05:35:03.883
27556
2016-07-12T08:45:06.547
13491
question
python
グラフが重なって表示されてしまうのやめたい


`np.loadtext()` の前の行で `plt.figure()` を呼んでみてはどうでしょうか。


CC BY-SA 3.0
2016-07-12T08:45:06.547
27564
2016-07-12T08:45:06.547
2112
27556
answer