2021-11-04

标题 matplotlib 柱形图添加数据标签和双柱形图

双柱形图和添加数据标签

def drawHistogram(list1,list2,title):
    matplotlib.rc("font", family='MicroSoft YaHei')
    print(Emp_data)
    length = len(list1)
    x = np.arange(length)   # 横坐标范围
    print(x)
    listDate = ['{}月'.format(i) for i in range(1,13)]
    print(listDate)
    plt.figure()
    total_width, n = 0.8, 2   # 柱状图总宽度,有几组数据
    width = total_width / n   # 单个柱状图的宽度
    x1 = x - width / 2   # 第一组数据柱状图横坐标起始位置
    x2 = x1 + width   # 第二组数据柱状图横坐标起始位置
    plt.title(title)   # 柱状图标题
    plt.bar(x1, list1, width=width, label="2018年",color='blue')
    plt.bar(x2, list2, width=width, label="2019年",color='darkorange')
    plt.xticks(x, listDate)   # 用星期几替换横坐标x的值
    # --为每个条形图添加数值标签-
    for x1, y1 in enumerate(list1):
        plt.text(x1-0.15, y1+1 , y1, ha='center')
    for x2, y2 in enumerate(list2):
        plt.text(x2+0.15, y2+0.8, y2, ha='center')
    plt.legend()   # 给出图例
    plt.show()
    if __name__ == '__main__':
    #--获取数据--
    Emp_data = pd.read_excel(r"D:\Apps\WXWork\msg\WXWork\1688853885073396\Cache\File\2021-10\空气质量对比.xlsx")
    list1 = list(Emp_data['PM25_2018年'])
    list2 = list(Emp_data['PM25_2019年'])
    list3 = list(Emp_data['SO2_2018年'])
    list4 = list(Emp_data['SO2_2019年'])
    list5 = list(Emp_data['PM10_2018年'])
    list6 = list(Emp_data['PM10_2019年'])
    list7 = list(Emp_data['优良天数_2018年'])
    list8 = list(Emp_data['优良天数_2019年'])
    # --作图--
    drawHistogram(list1,list2,'PM25对比图')
    drawHistogram(list3, list4,'SO2对比图')
    drawHistogram(list5, list6, 'PM10对比图')
    drawHistogram(list7, list8, '优良天数对比图')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值