利用python制作多Y轴图表

来源:互联网 发布:高仿阿迪耐克衣服淘宝 编辑:程序博客网 时间:2024/06/08 06:47

本人一直进行遥感研究,目前从事海洋遥感,有些元素的分析往往是多因素的,在制作表格的时候,会存在多因素并行分析的情况,这时需要我们绘制多Y轴图表。最近用python试了一下,比较简单,记录一下。根据matplotlib 样例进行修改。由于初学,做的比较简陋,欢迎交流。
代码如下:

# -*- coding: utf-8 -*-from mpl_toolkits.axes_grid1 import host_subplotimport mpl_toolkits.axisartist as AAimport matplotlib.pyplot as pltimport xlrd#从excel中读取数据data = xlrd.open_workbook('picture.xlsx')a=[]b=[]c=[]d=[]e=[]f=[]table = data.sheets()[0]          #通过索引顺序获取table = data.sheet_by_index(0) #通过索引顺序获取table = data.sheet_by_name(u'Sheet5')#通过名称获得excel数据a=table.col_values(0)b=table.col_values(1)c=table.col_values(2)d=table.col_values(3)e=table.col_values(4)f=table.col_values(5)#print(a,b,c,d,e,f)host = host_subplot(111, axes_class=AA.Axes)plt.subplots_adjust(right=0.75)par1 = host.twinx()par2 = host.twinx()par3 = host.twinx()#设置坐标轴摆放位置和距离offset = 60new_fixed_axis = par2.get_grid_helper().new_fixed_axispar2.axis["right"] = new_fixed_axis(loc="right",axes=par2,offset=(offset, 0))par2.axis["right"].toggle(all=True)offset = 120new_fixed_axis = par3.get_grid_helper().new_fixed_axispar3.axis["right"] = new_fixed_axis(loc="right",axes=par3, offset=(offset, 0))par3.axis["right"].toggle(all=True)host.set_xlim(0,48)host.set_ylim(80, 240)host.set_xlabel("Time")host.set_ylabel("zhang san")par1.set_ylabel("li si")par2.set_ylabel("wang wu")par3.set_ylabel("zhao liu")#图例p1= host.plot(c,d,"ro-",label="zs")p2= par1.plot(a,b,"k^-",label="ls")p3= par2.plot(c,e,"bs-",label="ww")p4= par3.plot(c,f,"gx-",label="zl")#范围par1.set_ylim(90, 150)par2.set_ylim(100, 160)par3.set_ylim(1, 5)host.legend(loc="upper left")#host.axis["left"].label.set_color(p1.get_color())#par1.axis["right"].label.set_color(p2.get_color())#par2.axis["right"].label.set_color(p3.get_color())plt.draw()plt.show()

结果:

多Y轴结果图

                                                                             2017年3月9日 于华师大
0 0
原创粉丝点击