条形图,根据柱形的数值大小设置颜色

# -*- coding: utf-8 -*-
"""
Created on Jan 14 2020
@author: wanggang
功能:根据数据的大小画出柱状图的颜色来。
"""
import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif']=['SimHei']   # 用黑体显示中文
plt.rcParams['axes.unicode_minus']=False     # 正常显示负号

x = np.array(["稽查","流程","核实","问题","现场","质量","管理","用户","系统","整改"])  # x值取默认值
y = np.array([136, 216, 186, 192, 132, 122, 111, 110, 161, 86])

sortIndex = np.argsort(-y) # 倒序,返回排序后各数据的原始下标

x_sort = x[sortIndex] # 重新进行排序,与y保持初始顺序一致
y_sort = y[sortIndex] # 重新进行排序,倒序

#定义函数来显示柱状上的数值
def autolabel(rects):
    for rect in rects:
        height = rect.get_height()
        plt.text(rect.get_x()+rect.get_width()/2.-0.25, 1.01*height, '%s' % int(height))
print(y_sort)
plt.xticks(np.arange(len(x_sort)), x_sort)
for i in range(len(y_sort)):
    if y_sort[i] >140:
        plt.bar(x_sort[i],y_sort[i],color=['r'])
    else:
        plt.bar(x_sort[i], y_sort[i], color=['g'])
#a = plt.bar(np.arange(len(x_sort)),y_sort,color=['r','g','b', 'c', 'm', 'y'])#这是设置颜色的
#autolabel(a)

plt.title('案例库热词top10')
plt.ylabel('词频', fontsize=12)
plt.xlabel('词语', fontsize=12)
plt.show()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值