IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python画柱状图 -> 正文阅读

[Python知识库]python画柱状图

# 利用条形图展示各个置信度区间的框数
def show_bar(bbox_lists, TP_lists, gt_folder):
    # plt中需要输入list
    bbox_lists = bbox_lists.tolist()
    TP_lists = TP_lists.tolist()

    gts = gt_num(gt_folder)

    for i, (bbNum, tpNum) in enumerate(zip(bbox_lists, TP_lists)):
        if i==0:
            sub_show_bar(bbNum, tpNum,gts['gtPersonNum']+gts['gtLifeJacketNum'])
        elif i==1:
            sub_show_bar(bbNum, tpNum, gts['gtPersonNum'])
            print("Recall:",np.sum(tpNum)/gts['gtPersonNum'])
        elif i ==2:
            sub_show_bar(bbNum, tpNum, gts['gtLifeJacketNum'])

def sub_show_bar(bbNum, tpNum, gtNum):
    # 这两行代码解决 plt 中文显示的问题
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['axes.unicode_minus'] = False

    # 输入统计数据
    conf_lists = ('0.3~0.35', '0.35~0.4', '0.4~0.45', '0.45~0.5.',
                  '0.5~0.55', '0.55~0.6', '0.6~0.65', '0.65~0.7',
                  '0.7~0.75', '0.75~0.8', '0.8~0.85', '0.85~0.9',
                  '0.9~0.95', '0.95~1', 'gt', 'tp_bb')

    bar_width = 0.45  # 条形宽度
    index_bbox_lists = np.arange(len(conf_lists))  # 预测的所有框的条形图的横坐标
    index_TP_lists = index_bbox_lists + bar_width  # 预测正确框的条形图的横坐标

    plt.barh(index_TP_lists, width=tpNum + [gtNum, np.sum(tpNum)], # np.sum(tpNum)不是总数,只是IOU大于0.3的总数
             height=bar_width, color='g', label='预测正确的框')
    plt.barh(index_bbox_lists, width=bbNum + [gtNum, np.sum(bbNum)],
             height=bar_width, color='b', label='预测出的框')

    plt.legend()  # 显示图例
    plt.yticks(index_bbox_lists + bar_width / 2,
               conf_lists)  # 让横坐标轴刻度显示 waters 里的饮用水, index_male + bar_width/2 为横坐标轴刻度的位置
    plt.xlabel('框数')  # 纵坐标轴标题

    # 在图像上添加文字

    for a, b in zip(index_bbox_lists, bbNum + [gtNum, np.sum(bbNum)]):
        plt.text(b + 0.1, a - 0.1, str(b), size=8, ha='center')

    for a, b in zip(index_TP_lists,tpNum + [gtNum, np.sum(tpNum)]):
        plt.text(b + 0.1, a - 0.1, str(b), size=8, ha='center')

    plt.show()

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-04 12:48:17  更:2021-10-04 12:49:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:22:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码