matplotlib(5. 股票K線圖)

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()

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章