原标题:Python使用matplotlib绘制k线图(去掉空白日期)
之前研究过使用 matplotlib.finance 中的 candlestick_ohlc() 方法绘制k线图,但是有个很无语的问题,绘制出来的k线不是连续的——周末两天没有被去掉,因此总是留下一个空档。更不要说遇上春节这样的节假日,k线将留下很大一段无用的空白。非常影响观察k线走势。
K-BLANK.png
google查询了一阵,零零散散看到一些解决思路,某些代码可用;另外一些不知是因为当时使用的开源包和现在有所差异还是什么的,总之把大段代码复制过来测试,得到的只是一堆报错信息。不过,总归解决思路还是明确了。
解决思路
由于candlestick_ohlc() 方法内部是将一个连续的日期作为x轴的刻度送到matplotlib的绘图引擎中的,如果不是采用修改 candlestick_ohlc() 的源码,那么比较合理方法就是不要将日期数据送到 candlestick_ohlc() 方法中,并且重新自定义 x 轴的刻度。
股票数据重构
matplotlib 官方给出的candlestick_ohlc() 的推荐使用方式是这样:
mpf.candlestick_ochl(ax,data_mat,colordown='#53c156', colorup='#ff1717',width=0.3,alpha=1)
其中 ax 是绘制图形的 axis 对