我爱Python,从自学开始。
打死不学Python的我,终于在部门的业务下哭唧唧选择屈服,毕竟胳膊拧不过大腿丫,嘤嘤嘤。
今天就来写一写Python入门大学生绘制简单的条形图吧-----------------
此处我主要介绍如何将一组数据的标准差和平均值同时显示在条形图上
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
#这里说一下:一定要这三条一起使用,不然就会报错
#很多博客上都是直接使用第三句,错误如下图所示
import numpy as np
#mean是一组数据的平均值list,std是这组数据的标准差
mean=[103445.5,103445.5,103445.5,103445.5]
std = [4955,4955,4955,4955]
rect=plt.bar(left=range(len(mean)),height=mean,align="center")
plt.ylabel(u'Performance')
plt.xlabel(u'Environment')
plt.xticks(range(len(env)),env,FontSize=6)
plt.legend((rect,),(u'data',))
x = np.arange(len(env))
for i in range(len(env)):
z = [x[i],x[i]]
w = [mean[i]-std[i],mean[i]+std[i]]
plt.plot(z,w,color='red')
#这个for循环用于打印mean的数据,在条形图y坐标上方100刻度上显示
for x,y in enumerate(mean):
plt.text(x,y+100,'%s' %round(y,1),ha='center')
#因为我是在linux环境下运行的python脚本,那么是没有图形化界面的
#大家初学条形图时,看的博客都是写的plt.show()用于显示图形化界面,那么在linux环境下为了看到做好的条形
#图,则通过savefig方法将其保存为png格式的对应的图片。
plt.savefig("result.png",format='png')
给大家看看效果图哦。
祝每一个要自学的童孩都能顺利找到自己学的资源,并且------------没有坑,没有环境问题。