本文实例讲述了Python实现绘制双柱状图并显示数值功能。分享给大家供大家参考,具体如下:
# -*- coding:utf-8 -*-
#! python3
import matplotlib.pyplot as plt
import mpl_toolkits.mplot3d
#定义函数来显示柱状上的数值
def autolabel(rects):
for rect in rects:
height = rect.get_height()
plt.text(rect.get_x()+rect.get_width()/2.-0.2, 1.03*height, '%s' % float(height))
if __name__ == '__main__':
l1=[68, 96, 85, 86, 76,87, 95]
l2=[85, 68, 79, 89, 94, 82,90]
name=['A','B','C','D','E','F','E']
total_width, n = 0.8, 2
width = total_width / n
x=[0,1,2,3,4,5,6]
plt.rc('font', family='SimHei', size=12)#设置中文显示,否则出现乱码!
a=plt.bar(x, l1, width=width, label='数学',fc = 'y')
for i in range(len(x)):
x[i] = x[i] + width
b=plt.bar(x, l2, width=width, label='语文',tick_label = name,fc = 'r')
autolabel(a)
autolabel(b)
plt.xlabel('学生')
plt.ylabel('成绩')
plt.title('学生成绩')
plt.legend()
plt.show()
运行结果:
希望本文所述对大家Python程序设计有所帮助。