import pandas as pd
from matplotlib import pyplot as plt
#import matplotlib.finance as mpf
from mpl_finance import candlestick_ohlc
from matplotlib.pylab import date2num
import datetime
dat = pd.read_csv('data.csv')
quotes =[]
x = []
d = pd.date_range('2019-06-01','2019-06-22')
print(d)
for i in range(0,23):
code = str(d[1])[:10]
sdate_num = date2num(datetime.datetime.strptime(code,'%Y-%m-%d'))
x.append(sdate_num)
sopen = dat.ix[i, 'open']
shigh = dat.ix[i, 'high']
slow = dat.ix[i, 'low']
sclose = dat.ix[i,'close']
if i==0:
nums = sdate_num
else:
nums = sdate_num + i
datas = (nums, sopen, shigh, slow, sclose) # 按照 candlestick_ohlc 要求的數據結構準備數據
quotes.append(datas)
print(quotes)
fig, ax = plt.subplots(facecolor=(0, 0.3, 0.5),figsize=(12,8))
fig.subplots_adjust(bottom=0.1)
ax.xaxis_date()
plt.xticks(rotation=45) #日期顯示的旋轉角度
plt.title(u'k-line')
plt.xlabel('code')
plt.ylabel('price')
candlestick_ohlc(ax,quotes,width=0.7,colorup='r',colordown='green') # 上漲為紅色K線,下跌為綠色,K線寬度為0.7
plt.grid(True)
plt.scatter(range(737212,737235), dat.ix[:,'meandeal'], marker='+', c='b')
plt.scatter(range(737212,737235), dat.ix[:,'deal'], marker='+', c='y')
fig.tight_layout()
plt.show()
data.csv字段:
code股票代碼 ,open開盤價,close收盤價,meandeal全天成交均價,high全天最高成交價,low全天最低成交價, deal成交價
k線圖.png