###前提・実現したいこと
移動平均線を上手くプロットできません。
5日移動平均線と25日移動平均線をプロットしているのですが、直近の5日間と25日間が消えています。
通常はグラフの始まりの4日間と24日間が消えるはずなのですが、なぜか逆になってしまっています。
###該当のソースコード
def ochl(self): from matplotlib.finance import candlestick_ochl ax1 = plt.subplot() try: candlestick_ochl(ax1, self.data.values, width=0.7, colorup='#ff1e1e', colordown='#1eff1e') except TypeError: pass sma5 = pandas.rolling_mean(self.data['Adj Close'], window=5) sma25 = pandas.rolling_mean(self.data['Adj Close'], window=25) #plt.xticks(data['Date'][::5],[x.strftime('%Y-%m-%d') for x in data["Date"]][::5]) plt.xticks(self.data["Date"][::20], d[::20]) plt.grid() plt.plot(self.data["Date"], sma5, color="#1e8eff") plt.plot(self.data["Date"], sma25, color="#ff1e8e") filename_candle_day = self.code + "_candle_day.png" plt.savefig(filename_candle_day) return plt.show()#plt.clf()
###試したこと
プロットしているxの値がおかしいのかと考え、5日移動平均線(コード内ではsma5)を見てみても、ちゃんとはじめから4つまでの値がNaNになっています。
0 NaN 1 NaN 2 NaN 3 NaN 4 1057.4 5 1046.6 6 1030.0 7 1013.8 8 1008.2 9 1000.4 10 1012.0 11 1020.2 12 1023.8 13 1023.8 14 1017.8 15 1016.4 16 1026.8 17 1037.4 18 1043.8 19 1062.8 0 1068.6 1 1070.6 2 1078.0 3 1075.8 4 1062.6 5 1048.0 6 1024.4 7 991.0 8 979.6 9 975.4 ... 14 921.0 15 894.6 16 869.6 17 855.4 18 853.2 19 849.2 0 846.8 1 842.2 2 828.2 3 819.4 4 814.0 5 813.4 6 817.6 7 825.0 8 838.0 9 842.0 10 836.4 11 830.6 12 825.0 13 820.2 14 818.8 15 821.6 16 829.8 17 838.4 18 836.0 19 826.6 0 807.8 1 780.4 2 759.6 3 743.2 Name: Adj Close, dtype: float64
plt.plotがNaNを省いて、プロットしているのかとも思いましたが対処法がわかりません。
どうすれば、移動平均線が上手くプロットできるのでしょうか??
###補足情報(言語/FW/ツール等のバージョンなど)
python3.5
OS Ubuntu
matpllotlib
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。