python3,matplot3,繪製K線圖,與2版本繪製蠟燭圖存在區別
import os
import pandas as pd
import matplotlib.pyplot as plt
import mpl_finance as mpf
from pandas.plotting import register_matplotlib_converters
register_matplotlib_converters()
# 設置總體樣式
plt.style.use("ggplot")
# 數據來源
datadir = 'yahoo-data'
fname = '002001.csv'
data = pd.read_csv(os.path.join(datadir, fname), index_col='Date', parse_dates=True)
# 單獨取出volume數據繪圖使用
vol = data['Volume']
# 設置兩個圖的位置
left, width = 0.1, 0.8
rect_vol = [left, 0.1, width, 0.3]
rect_main = [left, 0.46, width, 0.5]
# 創建畫布
fig = plt.figure()
# 添加兩個座標軸
ax_vol = fig.add_axes(rect_vol)
ax_main = fig.add_axes(rect_main)
# 填充volume圖
ax_vol.fill_between(vol.index, vol.values, color='y')
# 設置x軸顯示樣式
plt.setp(ax_vol.get_xticklabels(), rotation=30, horizontalalignment='right')
# 替換timestamp to float
main_data = []
for d in data.reset_index().values:
d[0] = d[0].timestamp()
main_data.append((d[0], d[1], d[2], d[3], d[4]))
print(main_data)
# 繪製蠟燭圖
mpf.candlestick_ohlc(ax_main, main_data, width=30000, colorup='r', colordown='g')
plt.xticks([])
plt.show()