本文主要是介绍量化交易回测可视化:matplotlib,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
-
matplotlib官方文档
matplotlib的使用需要先安装numpy。设计与matlib相似。
matplotlib(维基)是Python编程语言及其数值数学扩展包 NumPy的可视化操作界面。
matplotlib.pyplot
是最常用的模块。
-
pyplot常用功能
x = np.linspace(1,10,10) y = 2 * x + 1 plt.plot(x, y) plt.show()
x = np.linspace(1,10,10) y = 2 * x + 1plt.figure() # 定义一个窗口对象 plt.plot(x, y)plt.figure(num = 5, figsize= (9,5)) # 定义一个窗口对象,窗口名,为figure5,尺寸为长9宽5 plt.plot(x) # 画一根线 plt.plot(x,y, color= 'red', linewidth= 1,linestyle= '--') # 在figure5中画2根线,color:颜色;linewidth:线宽;linestyle: 线的格式,'--'是虚线plt.show()
plt.xlabel('x轴') # x轴重命名 plt.ylabel('y轴') # y轴重命名new_ticks = np.linspace(10,25,30) plt.xticks(new_ticks) # 更新x轴的刻度 plt.yticks([10,15,20],['intersting', r'$haha\ who$', r'$do\ \alpha\ it$']) # y轴刻度标注,字母r表示正则表达式;$$表示转换字体格式;\alpha表示α plt.show()
# gca = 'get currnet axis' ax = plt.gca() # 获取轴 ax.spines['right'].set_color('none') # 图形的脊梁,就是四个边框 ax.spines['top'].set_color('none') # 去掉图形的顶部和右部的边框 # 此时,图形还没有固定的坐标轴 ax.xaxis.set_ticks_position('bottom') # 设置下面的标尺为x轴 ax.yaxis.set_ticks_position('left') # 左边框标尺为y轴标尺ax.spines['bottom'].set_position(('data', -1)) # 设定底边(也就是横轴)在y轴的-1取值位置 ax.spines['left'].set_position(('data', 0)) # data之外还有其他确定坐标轴位置的方式。比如axes是百分比 plt.show()
plt.figure() l1, = plt.plot(x,y1, label='first') # label = 图例名称 l2, = plt.plot(x,y2, color= 'red', linewidth= 1,linestyle= '--', label= 'second') plt.legend(handles= [l1,],labels= ['noe', 'now'], loc= 'best') # 需要这个命令才会显示图例,可以重新设置labels plt.show() exit()
需要注意,只输入label参数并不会直接显示图例
x0 = 1 y0 = 2 * x0 + 1 plt.scatter(x0, y0, s= 10, color= 'b') # 画一个点。s:大小;b=blue plt.plot([x0,x0],[y0,0],'k--',lw= 2.5) # 画一条虚线,两个点确定一条线,k表示黑色,lw线宽plt.annotate(r'$2x+1=%s$' % y0, xy= (x0,y0), xycoords='data', xytext=(+20,-26), textcoords= 'offset points', fontsize=10, arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2')) # 正则表达式描述标注内容;xy标注坐标点;xycoords依据的坐标;xytext文本开始位置;textcoords文本坐标依据;fontsize文本大小;arrowprops标注线格式plt.text(-11,3,r'$this\ is\ the\ text\mu\ \sigma_i\ \alpha_t$', fontdict={'size': 10, 'color':'b'})plt.show()
如果tick被线遮挡,可以通过调整能见度提升图形的呈现效果。
-
各类图形
- 散点图scatter官方文档
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, *, data=None, **kwargs)
s:大小;c:颜色;alpha:透明度
- 柱状图bar官方文档
matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)
facecolor=’#9999ff’
edgecolor=‘white’
-
参考
- 十分钟入门Matplotlib(Python 科学计算系列的第一篇文章)
- 官网示例
.
.
.
2019-04-02 17:57:55
这篇关于量化交易回测可视化:matplotlib的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!