matplotlibを使ってx軸に時間を設定した場合、xの値もyの値も存在しない空白の時間があるのですが
その場合、その間の線が直線で繋がってしまうのをなくしたいです
python
1import pandas as pd 2import matplotlib.pyplot as plt 3import datetime 4%matplotlib inline 5df=pd.read_csv("EURUSD_20070201.csv",encoding="shift-jis") 6 7 8#csvを古い日付から順に読み込んでデータフレームに追加していく 9for month in range(1,3): 10 if month<10: 11 month="0"+str(month) 12 else: 13 month=str(month) 14 15 for date in range(1,32): 16 if date<10: 17 date="0"+str(date) 18 else: 19 date=str(date) 20 21 day=month+date 22 try: 23 df=pd.merge(df, pd.read_csv("EURUSD_2007"+day+".csv",encoding="shift-jis"),how="outer") 24 except: 25 continue 26 27 28#読み込んだcsvの時間部分の不要な部分を削除して入れ直し 29date=df["日時"] 30time=[] 31for n in date: 32 n=str(n) 33 n=n[:12] 34 time.append(n) 35time2=pd.to_datetime(time) 36 37 38#終値の列の値を読み込み50分毎の移動平均を作成 39close=df["終値"] 40span01=50 41df["sma01"]=close.rolling(window=span01).mean() 42 43 44#描画 45fig=plt.figure(figsize=(20,10)) 46date1=datetime.datetime(2007,2,1) 47date2=datetime.datetime(2007,2,28) 48ax=fig.add_subplot(1,1,1) 49ax.plot(time2, df["sma01"],label="sma01",color="#e84a5f") 50ax.set_xlim(date1,date2) 51plt.show()
読み込んだcsvは一部省略して下記の様な感じになっています
日時・始値・高値・安値・終値
20070201070000,1.3031,1.3031,1.3031,1.3031
20070201070100,1.3031,1.3031,1.3030,1.3030
20070201070200,1.3030,1.3031,1.3030,1.3031
20070201070300,1.3030,1.3031,1.3030,1.3031
20070201070400,1.3031,1.3031,1.3030,1.3031
20070201070500,1.3031,1.3031,1.3030,1.3030
20070201070600,1.3031,1.3031,1.3030,1.3030
20070201070700,1.3031,1.3031,1.3030,1.3030
20070201070800,1.3031,1.3031,1.3030,1.3030
/////////////////////////////////////////////
/////////////////////////////////////////////
20070202065400,1.3022,1.3022,1.3022,1.3022
20070202065500,1.3021,1.3022,1.3021,1.3021
20070202065600,1.3021,1.3021,1.3019,1.3020
20070202065700,1.3021,1.3021,1.3021,1.3021
20070202065800,1.3022,1.3022,1.3019,1.3020
20070202065900,1.3020,1.3021,1.3019,1.3020
読み込んだcsvなのですが土日と一部特別な日付の時のcsvは存在しないので読み込んでいません
その状態で描画した時上の例だとx軸で土日に該当する期間が横一直線に線が引かれてしまいます
※
土曜朝6:59から月曜朝7:00までの期間内が繋がれています
この空白の期間を描画せずにうまく週末から週初めのグラフを描画させるにはどうしたらよいでしょうか
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。