mpl_finance模块使用

mpl_finance是python中可以用来画出蜡烛图、线图的分析工具,目前已经从matplotlib中独立出来。

函数接口说明

常用函数接口如下所示,函数命中的ochl分别对应open close high low,ax为plot的axes实例;其中quotes为(time,open,close,high,low,...)组成的序列。

candlestick2_ochl(ax,opens,closes,highs,lows,width=4,colorup='k',colordown='r',alpha=0.75)

candlestick2_ohlc(ax,opens,closes,highs,lows,width=4,colorup='k',colordown='r',alpha=0.75)

candlestick_ochl(ax,quotes,width=0.2,colorup='k',colordown='r',alpha=1.0)

candlestick_ohlc(ax,quotes,width=0.2,colorup='k',colordown='r',alpha=1.0)

plot_day_summary2_ochl(ax,opens,closes,highs,lows,ticksize=4,colorup='k',colordown='r')

plot_day_summary2_ohlc(ax,opens,highs,lows,closes,ticksize=4,colorup='k',colordown='r')

plot_day_summary_oclh(ax,quotes,ticksize=3,colorup='k',colordown='r')

plot_day_summary_ohlc(ax,quotes,ticksize=3,colorup='k',colordown='r')

volume_overlay(ax,opens,closes,volummes,colorup='k',colordown='r',width=4,alpha=1.0)

volume_overlay2(ax,closes,volumes,colorup='k',colordown='r',width=4,alpha=1.0)

volume_overlay3(ax,quotes,colorup='k',colordown='r',width=4,alpha=1.0)//目前这个函数使用起来貌似会存在问题,画出的柱状图高度一致,并没有体现数据的变化

时间格式问题

mpl_finance模块使用时间需要是浮点类型数据,转换方式如下,需要使用matplotlib中dates模块的date2num函数进行转换:

import matplotlib.dates as dts

timeRecord = dts.date2num(datetime.datetime(yearTime,mothTime,dayTime,hourTime,minitueTime,secTime,msSecTime))

颜色设置

简单示例

... ...

fig1,[ax1,ax2] = plt.subplots(2,1,sharex=True)

mpf.candlestick_ohlc(ax1,self.inputPlotData,colorup='r',colordown='b')

ax1.set_title('candlestick')

ax1.set_xlabel('time')

ax1.set_ylabel('value')

ax1.xaxis_date()

ax2.bar(self.timeDatas,self.volumeDatas,width=0.75)

ax2.set_title('diff volume')

ax2.grid(True)

......

数据格式如下

#依次为 时间经过date2num转换后的时间,open,high , low及close

736527.0 6030.00 6100.00 5934.00 6080.00

736528.0 6118.00 6071.00 6100.00 6096.00

736529.0 6117.00 6082.00 6115.00 6098.00

结果示例如下

猜你喜欢

转载自blog.csdn.net/DreamBitByBit/article/details/81158602