Python实现柱状图【数字精准展示,使用不同颜色】

試著忘記壹切 提交于 2020-03-22 06:59:27

一.简介

  主要使用matplotlib基于python的可视化组件实现。

二.代码实现 

 1 # -*- coding: utf-8 -*-
 2 """
 3 Created on Mon Jul 13 09:55:30 2019
 4 @author: zhen
 5 """
 6 import numpy as np
 7 import matplotlib.pyplot as plt
 8 
 9 plt.rcParams['font.sans-serif']=['SimHei']   # 用黑体显示中文
10 plt.rcParams['axes.unicode_minus']=False     # 正常显示负号
11 
12 x = np.array(["稽查","流程","核实","问题","现场","质量","管理","用户","系统","整改"])  # x值取默认值
13 y = np.array([136, 216, 186, 192, 132, 122, 111, 110, 161, 86])
14 
15 sortIndex = np.argsort(-y) # 倒序,返回排序后各数据的原始下标
16 
17 x_sort = x[sortIndex] # 重新进行排序,与y保持初始顺序一致
18 y_sort = y[sortIndex] # 重新进行排序,倒序
19 
20 #定义函数来显示柱状上的数值
21 def autolabel(rects):
22     for rect in rects:
23         height = rect.get_height()
24         plt.text(rect.get_x()+rect.get_width()/2.-0.25, 1.01*height, '%s' % int(height))
25 
26 plt.xticks(np.arange(len(x_sort)), x_sort)
27 a = plt.bar(np.arange(len(x_sort)),y_sort,color=['r','g','b', 'c', 'm', 'y'])
28 autolabel(a)
29 
30 plt.title('案例库热词top10') 
31 plt.ylabel('词频', fontsize=12) 
32 plt.xlabel('词语', fontsize=12) 
33 plt.show()

三.结果

  

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!