利用python制作多Y軸圖表

本人一直進行遙感研究,目前從事海洋遙感,有些元素的分析往往是多因素的,在制作表格的時候,會存在多因素并行分析的情況,這時需要我們繪制多Y軸圖表。最近用Python試了一下,比較簡單,記錄一下。根據(jù)matplotlib 樣例進行修改。由于初學(xué),做的比較簡陋,歡迎交流。 代碼如下:
<pre>
from mpl_toolkits.axes_grid1 import host_subplot
import mpl_toolkits.axisartist as AA
import matplotlib.pyplot as plt
import xlrd

從excel中讀取數(shù)據(jù)

data = xlrd.open_workbook('picture.xlsx')
table = data.sheets()[0] #通過索引順序獲取
table = data.sheet_by_index(0) #通過索引順序獲取
table = data.sheet_by_name(u'Sheet1') #通過名稱獲得excel數(shù)據(jù)

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)

host = host_subplot(111, axes_class=AA.Axes)
plt.subplots_adjust(right=0.75)

par1 = host.twinx()
par2 = host.twinx()
par3 = host.twinx()

設(shè)置坐標軸擺放位置和距離

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")

plt.draw()
plt.show()
</pre>

結(jié)果:

圖 結(jié)果
             2017年3月9日 于華師大
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容