python 使用 matplotlib.pyplot来画柱状图和饼图,,导入包import


导入包

import matplotlib.pyplot as plt

柱状图

最简柱状图

# 显示高度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‘ % int(height))name_list = [‘A‘, ‘B‘, ‘C‘, ‘D‘, ‘E‘, ‘F‘, ‘G‘, ‘H‘]num_list = [33, 44, 53, 16, 11, 17, 17, 10]autolabel(plt.bar(range(len(num_list)), num_list, color=‘rgb‘, tick_label=name_list))plt.show()

结果
技术分享图片

堆叠柱状图

# 显示高度def autolabel(rects1, rects2):    i = 0    for rect1 in rects1:        rect2 = rects2[i]        i += 1        height = rect1.get_height() + rect2.get_height()        plt.text(rect1.get_x()+rect1.get_width()/2. - 0.1, 1.03*height, ‘%s‘ % int(height))name_list = [‘A‘, ‘B‘, ‘C‘, ‘D‘]num_list = [10, 15, 16, 28]num_list2 = [10, 12, 18, 26]z1 = plt.bar(range(len(num_list)), num_list, label=‘1‘, fc=‘b‘)z2 = plt.bar(range(len(num_list)), num_list2, bottom=num_list, label=‘2‘, tick_label=name_list, fc=‘g‘)autolabel(z1, z2)plt.legend()plt.show()

结果
技术分享图片

并列柱状图

name_list = [‘A‘, ‘B‘, ‘C‘, ‘D‘]num_list = [10, 15, 16, 28]num_list2 = [10, 12, 18, 26]x = list(range(len(num_list)))total_width, n = 0.8, 2width = total_width / nplt.bar(x, num_list, width=width, label=‘1‘, fc=‘b‘)for i in range(len(x)):    x[i] += widthplt.bar(x, num_list2, width=width, label=‘2‘, tick_label=name_list, fc=‘g‘)plt.legend()plt.show()

结果
技术分享图片

饼图

最简饼图

name_list = [‘A‘, ‘B‘, ‘C‘, ‘D‘, ‘E‘, ‘F‘, ‘G‘, ‘H‘, ‘I‘, ‘J‘]num_list = [33, 44, 53, 6,11, 7, 7, 10, 3, 1]# 保证圆形plt.axes(aspect=1)plt.pie(x=num_list, labels=name_list, autopct=‘%3.1f %%‘)plt.show()

结果
技术分享图片

带切割的饼图

# 圆形plt.figure(1, figsize=(6, 6))name_list = [‘A‘, ‘B‘, ‘C‘, ‘D‘, ‘E‘]num_list = [33, 44, 53, 30, 60]expl = [0, 0, 0, 0, 1]colors = [‘pink‘, ‘blue‘, ‘yellow‘, ‘green‘, ‘red‘]plt.pie(x=num_list,explode=expl, labels=name_list, autopct=‘%3.1f %%‘, colors=colors, pctdistance=0.3, shadow=True)plt.show()

结果
技术分享图片

python 使用 matplotlib.pyplot来画柱状图和饼图

评论关闭