前提・実現したいこと
・実現したいこと。
グラフのメモリを非表示にして、グラフを表示しJPEGで保存したい。
※ロウソク足を保存する関数(candle)を削除して、
コメントアウトしてる部分を付け加えると、グラフは表示されます。
ちなみに、csvの中身と、出力部分はこんな感じになります。
Open High Low Close date
0 1.27459 1.27478 1.27227 1.27346 2019-01-02 00:00:00
1 1.27346 1.27544 1.27317 1.27528 2019-01-02 01:00:00
2 1.27528 1.27528 1.27448 1.27483 2019-01-02 02:00:00
3 1.27482 1.27483 1.27412 1.27449 2019-01-02 03:00:00
4 1.27449 1.27449 1.27229 1.27278 2019-01-02 04:00:00
... ... ... ... ... ...
6216 1.32137 1.32489 1.32119 1.32430 2019-12-31 17:00:00
6217 1.32430 1.32840 1.32280 1.32675 2019-12-31 18:00:00
6218 1.32676 1.32720 1.32585 1.32621 2019-12-31 19:00:00
6219 1.32619 1.32658 1.32509 1.32513 2019-12-31 20:00:00
6220 1.32513 1.32540 1.32353 1.32394 2019-12-31 21:00:00
[6221 rows x 5 columns]
Open float64
High float64
Low float64
Close float64
date datetime64[ns]
dtype: object
発生している問題・エラーメッセージ
エラーは出ていなく、printの部分もちゃんと出力されています。 ただ、グラフが表示されないです。
該当のソースコード
Python
1#モジュールのインストール 2import pandas as pd 3import numpy as np 4import plotly.graph_objects as go 5import datetime as dt 6from datetime import datetime 7 8#ロウソク足を保存する関数。 9def candle(df, start_Y=None, start_m=None, start_d=None, end_Y=None, end_m=None, end_d=None, save=False): 10 #s = str(day) + ' ' + str(start) 11 #e = str(day) + ' ' + str(end) 12 #s1 = datetime.strptime(s, '%Y/%m/%d %H:%M:%S') 13 #e1 = datetime.strptime(e, '%Y/%m/%d %H:%M:%S') 14 #temp = df[s:e] 15 temp = df[(df['date'] >= dt.datetime(start_Y,start_m,start_d)) & (df['date'] < dt.datetime(end_Y,end_m,start_d))] 16 17 if temp.shape[0] > 4: 18 temp = temp.reset_index() 19 fig = plt.figure(figsize=(18,9)) 20 ax = plt.subplot(1,1,1) 21 ax.axis('off') 22 23 ax1 = go.Figure( 24 data = [go.Candlestick( 25 x = ax, 26 open = temp['Open'], 27 high = temp['High'], 28 low = temp['Low'], 29 close = temp['Close'] 30 )] 31 ) 32 ax1.show() 33 34 if save == True: 35 fig.savefig(s[:-3] + '.jpg', tranprent=True) 36 plt.close(fig) 37 else : 38 pass 39 40df = pd.read_csv('GBPUSD_1H_2019.csv') 41 42df = df.drop(['Volume'], axis = 1) 43 44 45df['date'] = df['Date'].astype(str) + ' ' + df['Timestamp'].astype(str) 46 47df = df.drop(['Date','Timestamp'],axis = 1) 48 49df.columns = ['Open','High','Low','Close','date'] 50 51df.head() 52 53df['date'] = pd.to_datetime(df['date'], format='%Y/%m/%d %H:%M:%S') 54 55#特定のロウソク足をjpeg保存。 56candle(df, 2019, 1, 23, 2019, 1, 25,True) 57 58 59""" fig = go.Figure( 60 data = [go.Candlestick( 61 x = df[(df['date'] >= dt.datetime(2019,1,23)) & (df['date'] < dt.datetime(2019,1,25))], 62 open = df['Open'], 63 high = df['High'], 64 low = df['Low'], 65 close = df['Close'] 66 )] 67) 68fig.show() """ 69 70print(df) 71print(df.dtypes)
試したこと
グラフの出力に、candlestick2_ohlcなどを使っても出力されませんでした。
補足情報(FW/ツールのバージョンなど)
・Python3.8.3 64bit
・テキストエディタ:Visual Studio Code
あなたの回答
tips
プレビュー