pyplot を使う
pyplot Excel 日付変換
それでは日付デ-タを見やすい形式に変換していきます。
先に、日付デ-タ変換スクリプトを表示します。
xDate = [] xD = [] for i, key in enumerate(Date): if(i % 5 == 0): e4 = str(key)[4:10] #① e6 = e4.replace("-0", "/")#② e7 = e6.replace("-", "/") #③ e8 = e7.lstrip("/") #④ xDate.append(e8) xD.append(i)
xData は X 軸の目盛り日付です。
そして、Python 組込関数 enumerate()を使って Date デ-タがある限り、i = 0 から
順番に for 分で処理を繰り返します。
Date の中には 30個のデ-タが存在しますので、i は 0~29 まで変化します。
今回は 5日ごとに X 軸日付を付けたいので、
if(i % 5 == 0):
として 5日ごとに日付を作成します。
また、xD は日付表示位置となります。
- #① 型変換
Pandas で抜き取った Date は リスト型になっています。
これを str 型 に変換します。
変換してもエクセル書式がそのまま残っていますので、
2019-06-24T00:00:00.000000000
のように変換されます。
余計な文字列が沢山ありますので、これを削除していきます。
必要なのは、月日の -06-24 です。
左から 0~3 の 4 文字と10文字以降は必要ないので
e4 = str(Date[i])[4:10]
とすると、6文字が取得され
e4 には -06-24 が入ります。 - #② 月日が1桁の時
月日が1桁の時は、-01 のような形をしています。
0 は余計なのでこれを削除します。
Python 組込関数 replace()を使って、一旦 -0 を / に置き換えます。
第一引数に置換元文字列、第二引数に置換先文字列を指定します。
e6 = e4.replace("-0", "/")
e6 には /6-24 が入りました。 - #③ - を / に変換
replace()を使って、月日の間の - を / に変換します。
e7 = e6.replace("-", "/")
e7 には /6/24 が入りました。 - #④ / を削除
Python 組込関数 lstrip() で、左端の / を削除します。
e8 = e7.lstrip("/")
e8 には 6/24 が入りました。
やっとこれで、文字の変換ができるようになりました。
後は Python 組込関数 append() を使って、xDate 及び xD の中に積み上げて終わりです。
ちなみに、xD は
xD = [0,5,10,・・・・・,25]
となります。
変換日付を X 軸日付に埋込む
変換日付を X 軸日付に埋込むには2つのテクニックを使います。
まずは、y 軸値(Close)を呼出すための仮の x 軸値(Idx)が必要です。
Idx は 0~29 の30個の整数値です。
これは
Idx = xl_df.index
から取得することができます。
もう一つはどこに変換日付を表示するかを示す必要があります。
plt.xticks(xD, xDate)
とすると、Idx が 0,5・・・20,25 の位置に xDate を表示することができます。
pyplot-excel 完成形まとめ
以上、グラフ作成 Python ファイル pyplot-excel の完成形をまとめると
import pandas as pd xl_df = pd.read_excel( 'file/CHART-190624-0802-py.xlsx') Close = xl_df["Close"].values Date = xl_df["Date"].values Idx = xl_df.index xDate = [] xD = [] for i, key in enumerate(Date): if(i % 5 == 0): e4 = str(Date[i])[4:10] #① e6 = e4.replace("-0", "/")#② e7 = e6.replace("-", "/") #③ e8 = e7.lstrip("/") #④ xDate.append(e8) xD.append(i) import matplotlib.pyplot as plt plt.xticks(xD, xDate) plt.plot(Idx,Close) plt.show()
となります。
pyplot-excel 完成形実行結果
実行すると
のようになるはずです。
Run は2回以上させないとグラフはでてきませんよ。
引き続き、Excel ファイルを読込む Python ファイル panda-sam を利用して
読み込んだデ-タでロ-ソク足チャ-トを作成していきます。