1時間ごとにデータファイルがあり(例えは、2018010100、2018010101、2018010102・・・)、これを1か月分ほど読み込んでグラフを作成したいのですが、途中で強制終了してしまいます。おそらく読み込むデータ量が多すぎるためではないかと思うのですが、何かいい方法はないでしょうか?
データは、x軸が時間、y軸が値となっており、以下のコードサンプルでは1Hzのデータとなっていますが、実際は100Hzの波形データです。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import datetime
from datetime import datetime
from datetime import timedelta

startymdh  = '2018070100'
endymdh    = '2018070223'

ymdh = startymdh

#グラフ作成
fig,ax = plt.subplots()

#x軸の範囲
ax.set_xlim(datetime.strptime(startymdh,'%Y%m%d%H'), datetime.strptime(endymdh,'%Y%m%d%H')+ timedelta(hours=1))

ax.xaxis.set_major_formatter(mdates.DateFormatter('%m/%d'))

#1時間毎にファイル読み込み
while ymdh <= endymdh :

    #x_data: スタート時刻から1秒ごとに3600要素のリストを生成
    x = pd.date_range(datetime.strptime(ymdh,'%Y%m%d%H'),
                datetime.strptime(ymdh,'%Y%m%d%H')+ timedelta(hours=1)-timedelta(seconds=1), 
                freq = 'S')

    #y_data: 0から(1+hour)の間で乱数を発生させて3600要素のリストを生成
    print (ymdh[8:10])
    y = np.random.randint(0,int(ymdh[8:10])+1,3600)

    #3プロット
    ax.plot(x, y, color='C0')
    #変数を1時間後にする
    ymdhtmp = datetime.strptime(ymdh,'%Y%m%d%H') + timedelta(hours=1)
    ymdh = ymdhtmp.strftime('%Y%m%d%H')
else:
    #変数を1時間後にする
    ymdhtmp = datetime.strptime(ymdh,'%Y%m%d%H') + timedelta(hours=1)
    ymdh = ymdhtmp.strftime('%Y%m%d%H')
#出力ファイル名
plt.savefig('test.png')
plt.close()