python柱状图(双柱子,可调在横坐标上位置,横纵坐标名称及刻度,图例,数据标签显示及位置)

import numpy as np
import matplotlib.pyplot as plt

if __name__ == "__main__":
    x4=np.array([1,2,3,4])
    x5 = np.array([1, 2, 3, 4,5])# x4和x5用来调整柱子位置,和显示横坐标刻度
    y1=np.array([2,8,3,3])  #柱一数据
    y2 = np.array([5,5,6,3])  #柱二数据
    plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
    plt.ylabel(u'纵坐标')
    plt.xlabel(u'横坐标')
    plt.bar(x4+0.3, y1, 0.35,color="b", align="center", label="柱一")#融合威胁评估方法
    #bar方法画柱状图,x4数组用来调整柱子的位置,x4+0.3代表第一个柱子的横坐标,y1为柱子的高度,即纵坐标
    plt.bar(x4+0.65, y2, 0.35,color="g", align="center", label="柱二")#TOPSIS方法
    # bar方法画柱状图,x4数组用来调整柱子的位置,x4+0.65代表第二个柱子的横坐标,y2为柱子的高度,即纵坐标
    font1 = {'family': 'SimHei',
             'weight': 'normal',
             'size': 10, }     ##设置图例大小位置
    plt.xticks(x5,["1","2","3","4","5"])##横坐标刻度标签,因为我是把柱子画在刻度之间,所以画4个柱子要5个刻度
    for i in range(0,4): #for内语句为添加柱状图的数据标签,x4[i]+0.3代表数据横坐标,y1[i]+0.0003代表数据纵坐标,y1[i]数据标签内容
      plt.text(x4[i]+0.3, y1[i]+0.0003,y1[i], ha='center', va='bottom', fontsize=9,color = "b")
      plt.text(x4[i] + 0.65, y2[i] + 0.0003, y2[i], ha='center', va='bottom', fontsize=9, color="g")
    plt.legend()

    plt.show()

在这里插入图片描述

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值