利用Python分析股票(四):使用matplotlib绘合成图(K线,均线,成交量)
鸣谢&参考:https://zhuanlan.zhihu.com/p/124213345
还是先参考之前的文章,读取数据
#17
1 | from django_pandas.io import read_frame |
计算布林线数据
1 | df['mid'] = df['Close'].rolling(20).mean() |
计算均线
1 | df['ma3'] = df['Close'].rolling(3).mean() |
使用mplfinance绘制合成图
mplfinance可以通过设置addplot
将其他数据附加到k线图上。
1 | import mplfinance as mpf |
不使用mplfinance ,自定义画图
创建画板(fig对象),分配四个区域,将分别绘制K线,成交量,MACD图,KDJ图
1 |
|
使用mpf的candlestick2_ochl函数绘制基础k线
1 | candlestick2_ochl(graph_KAV, df["Open"], df["Close"], df["High"], df["Low"], width=0.5, colorup='r', colordown='g') # 绘制K线走势 |
在绘图区域上再绘制均线
1 | graph_KAV.plot(np.arange(0, len(df.index)), df['ma3'],color='black', label='M3',lw=1.0) |
设置 图例、标题、Y轴标题
1 | graph_KAV.legend(loc='best') # 图例 |
修改X轴刻度,完整填充
1 | graph_KAV.set_xticks(range(0,len(df.index),7))#X轴刻度设定 每7天标一个日期 |
绘制成交量:设置成交量的颜色。
这里展示了,如果通过一个简单的函数,新增一个列并赋值
1 | def vol_color(r): |
绘制成交量
成交量绘制使用DataFarme.bar
绘制柱状图
1 | graph_VOL.bar(np.arange(0, len(df.index)), df['Volume'],color=df['vol_color']) |