哎呀,這個是最簡單的掩幢,我就直接貼代碼了。
import matplotlib
matplotlib.use('Agg')
import sys
import matplotlib.pyplot as plt
#set the verhical bar
def Vbar():
? ? ? plt.cla()
? ? ? rect=plt.bar(left=range(len(ave)),height=ave,align="center")
? ? ? plt.ylabel(u'Performance')
? ? ? plt.xlabel(u'Environment')
? ? ? plt.xticks(range(len(get_envnum())),get_envnum(),FontSize=6)
? ? ? plt.legend((rect,),(u'Requests per second',))
? ? ? x = np.arange(len(get_envnum()))
? ? ? for i in range(len(get_envnum())):
? ? ? ? ? z = [x[i],x[i]]
? ? ? ? ? w = [ave[i]-std[i],ave[i]+std[i]]
? ? ? ? ? plt.plot(z,w,color='red')
? ? ? for x,y in enumerate(ave):
? ? ? ? ? plt.text(x,y+100,'%s' %round(y,1),ha='center')
? ? ? plt.savefig("V.png",format='png')
#set the horizontal bar
def Hbar():
? ? ? plt.cla()
? ? ? rect=plt.barh(bottom=range(len(ave)),width=ave,align="center")
? ? ? plt.ylabel(u'Environment')
? ? ? plt.xlabel(u'Performance')
? ? ? plt.yticks(range(len(get_envnum())),get_envnum(),FontSize=6)
? ? ? plt.legend((rect,),(u"Data",))
? ? ? y = np.arange(len(get_envnum()))
? ? ? for i in range(len(get_envnum())):
? ? ? ? ? z = [y[i],y[i]]
? ? ? ? ? w = [ave[i]-std[i],ave[i]+std[i]]
? ? ? ? ? plt.plot(w,z,color='red')
? ? ? for x,y in enumerate(ave):
? ? ? ? ? plt.text(y+0.1,x,'%s' %round(y,1),va='center')
? ? ? plt.savefig("H.png",format='png')
這里我封裝成了兩個方法芯丧,可以注意到第一條都是plt.cla()世曾,這是用來擦除繪圖的,因?yàn)槿绻阆日{(diào)用Vbar方法骗露,再調(diào)用Hbar方法血巍,就會發(fā)現(xiàn),后者的圖片會出錯述寡。
這個沒有圖了,因?yàn)椴恍⌒慕o刪掉了