利用python制作多Y轴图表

    xiaoxiao2021-03-25  113

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

    # -*- coding: utf-8 -*- from mpl_toolkits.axes_grid1 import host_subplot import mpl_toolkits.axisartist as AA import matplotlib.pyplot as plt import 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 = 60 new_fixed_axis = par2.get_grid_helper().new_fixed_axis par2.axis["right"] = new_fixed_axis(loc="right",axes=par2,offset=(offset, 0)) par2.axis["right"].toggle(all=True) offset = 120 new_fixed_axis = par3.get_grid_helper().new_fixed_axis par3.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()

    结果:

    2017年3月9日 于华师大
    转载请注明原文地址: https://ju.6miu.com/read-13655.html

    最新回复(0)