hhhhh我又來更文了母蛛,本來打算今天要學(xué)自己的東西的翩剪,沒想到部門大哥在就回家前又給我提了個需求,我直言彩郊,你到底是程序員還是產(chǎn)品經(jīng)理呀前弯??秫逝?我的恕出,這個壞小子。而且提的需求都是那種很精辟的真是想的夠美的哦违帆。
好啦浙巫,進(jìn)入正題。
今天給大家介紹的是同時在一張圖上繪制折線圖和疊加的條形圖,大致樣子長下圖這樣的畴,不過今天教的是只有一條折線圖的用法渊抄,我不會告訴你,這張圖就是部門大哥手繪的丧裁,吼吼吼护桦。
就直接進(jìn)入代碼吧。
import matplotlib
matplotlib.use('Agg')
import numpy as np
import pandas as pd
#關(guān)于import這些玩意煎娇,請使用 sudo apt install python-XXX
import matplotlib.pyplot as plt
from matplotlib import mlab
from matplotlib import rcParams
data=[25.9,84.6,21,21.8,36.7,4,5.2,43.7,0.12292,94]? #折線圖的y軸數(shù)據(jù)
rn=['a','b','c','d','e','f','h','i','j','k']? #橫坐標(biāo)的內(nèi)容
vbar1=[5,4,7,9,12,3,7,4,10,9]? #下面的條形圖的y軸數(shù)據(jù)
vbar2=[4,6,9,2,7,8,10,8,12,6]? #上面的條形圖的y軸數(shù)據(jù)
fig, ax1 = plt.subplots(figsize=(15,10))
x=np.arange(len(rn))
y=np.array(list(vbar1))
w=np.array(list(vbar2))
xticks1=list(rn)
#條形圖
#plt.bar(x[0:6],y[0:6],width = 0.45,align='center',color = 'gray',alpha=0.9)
#plt.bar(x[6:],y[6:],width = 0.45,align='center',color = 'c',alpha=0.9)
#上面這兩條語句二庵,是用來設(shè)置條形圖的顏色的,前6條柱子是gray色缓呛,而后四條是藍(lán)綠色
plt.bar(x,y,width = 0.45,label='female',align='center',color = 'c',alpha=0.9)
plt.bar(x,w,bottom=vbar1,label='male',tick_label=vbar1,width = 0.45,align='center',color = 'y',alpha=0.9)
#看我斜體數(shù)據(jù)眨猎,就是關(guān)鍵了
plt.xticks(x,xticks1,size='medium')
打印下方條形圖的數(shù)據(jù)
for a,b in zip(x,y):
? ? plt.text(a, b, '%s' % b, ha='center', va= 'bottom',fontsize=10)
#折線圖
ax2 = ax1.twinx()
z=np.array(list(data))
ax2.plot(x,z,c='y',marker='o')
#打印折線圖的數(shù)據(jù)
for a,b in zip(x,z):
? ? plt.text(a, b, '%s' % b, ha='center', va= 'bottom',fontsize=10)
#保存成圖片
plt.savefig("result.png",format='png')
最后的效果圖如圖所示
emmmmm我覺得挺好看的。
ok今天就到這里吧强经,還要再寫一篇呢。