python使用DebugInfo模块打印一个条形堆积图

 更新时间:2023年08月22日 09:52:56   作者:团圆吧  
今天介绍一个不使用 matplot,通过 DebugInfo模块打印条形堆积图的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

背景

今天介绍一个不使用 matplot,通过 DebugInfo模块打印条形堆积图 的方法。

引入模块

pip install DebugInfo

打印销售转化数据

下面的代码构建了两个销售团队,团队A 和团队B;两个团队的销售数据构成了公司总的销售成果。以条形堆积图的方式展示两个销售团队的成果。

# -*- coding:UTF-8 -*-
# region 引入调试模块
import random
from DebugInfo.DebugInfo import *
# endregion
白板 = 调试模板()
白板.准备表格()
# 假如你已经整理完成了数据,这里是样例数据
销售转化数据A队 = {'广告曝光': random.randrange(94, 98),
            '链接跳转': random.randrange(80, 90),
            '加购物车': random.randrange(75, 80),
            '生成订单': random.randrange(65, 74),
            '提交支付': random.randrange(40, 60),
            '完成支付': random.randrange(25, 40),
            '售后退款': random.randrange(1, 5)}
销售转化数据B队 = {'广告曝光': random.randrange(94, 98),
            '链接跳转': random.randrange(80, 90),
            '加购物车': random.randrange(75, 80),
            '生成订单': random.randrange(65, 74),
            '提交支付': random.randrange(40, 60),
            '完成支付': random.randrange(25, 40),
            '售后退款': random.randrange(1, 5)}
# 第一行作为标题
白板.添加一行('节点', '进度[{}/{}]'.format(红字('A队'), 绿字('B队')), '转化率[{}/{}]'.format(红字('A队'), 绿字('B队')), '备注').修饰行(青字)
# 第二行第二列打印 100 个 - 作为 100% 参考线
白板.添加一行('', '{}'.format(白板.分隔线.总长度(100).提示内容('100%参考线').修饰方法(黄字)))
# 把业务数据依次添加到表格中
for 节点 in 销售转化数据A队.keys():
    转化率A队 = int(销售转化数据A队[节点] * 0.5)
    转化率B队 = int(销售转化数据B队[节点] * 0.5)
    白板.添加一行(节点,
            '{}{}'.format(红字('▉' * 转化率A队), 绿字('▉' * 转化率B队)),
            '{}/{}'.format(红字('{}%'.format(转化率A队)), 绿字('{}%'.format(转化率B队))))
# 展示你的表格
白板.分隔线.总长度(白板.表格宽度()).提示内容('条形堆积图效果演示, 转化率对齐').修饰方法(红字).展示()
白板.展示表格()

以上代码中,我们假设两个销售团队的成果在整体团队中的占比各 50%,对两个团队的数据进行归一化处理后,打印成条形堆积图输出,效果如下:

DebugInfo 打印条形堆积图效果 转化率对齐显示

转化率值跟随条形图显示

以上代码中,我们如果将转化率值组合在 ▉ 符号后面,则可以将转化率值跟随条形图打印,代码如下:

# -*- coding:UTF-8 -*-
# region 引入调试模块
import random
from DebugInfo.DebugInfo import *
# endregion
白板 = 调试模板()
白板.准备表格()
# 假如你已经整理完成了数据,这里是样例数据
销售转化数据A队 = {'广告曝光': random.randrange(94, 98),
            '链接跳转': random.randrange(80, 90),
            '加购物车': random.randrange(75, 80),
            '生成订单': random.randrange(65, 74),
            '提交支付': random.randrange(40, 60),
            '完成支付': random.randrange(25, 40),
            '售后退款': random.randrange(1, 5)}
销售转化数据B队 = {'广告曝光': random.randrange(94, 98),
            '链接跳转': random.randrange(80, 90),
            '加购物车': random.randrange(75, 80),
            '生成订单': random.randrange(65, 74),
            '提交支付': random.randrange(40, 60),
            '完成支付': random.randrange(25, 40),
            '售后退款': random.randrange(1, 5)}
# 第一行作为标题
白板.添加一行('节点', '进度/转化率[{}{}]'.format(红字('A队'), 绿字('B队')), '备注').修饰行(青字)
# 第二行第二列打印 100 个 - 作为 100% 参考线
白板.添加一行('', '{}{}/{}'.format(白板.分隔线.总长度(100).提示内容('100%参考线').修饰方法(黄字), 红字('xxx%'), 绿字('xxx%')))
# 把业务数据依次添加到表格中
for 节点 in 销售转化数据A队.keys():
    转化率A队 = int(销售转化数据A队[节点] * 0.5)
    转化率B队 = int(销售转化数据B队[节点] * 0.5)
    白板.添加一行(节点,
            '{}{}'.format(红字('▉' * 转化率A队), 绿字('▉' * 转化率B队)) + ' ' +
            '{}/{}'.format(红字('{}%'.format(转化率A队)), 绿字('{}%'.format(转化率B队))))
# 展示你的表格
白板.分隔线.总长度(白板.表格宽度()).提示内容('条形堆积图效果演示, 转化率对齐').修饰方法(红字).展示()
白板.展示表格()

代码输出效果如下:

DebugInfo 打印条形堆积图效果 转化率跟随在条形图后

转化率分别对齐各自条形图

以上代码中,我们稍加调整,即可将转化率分别对齐到各自团队的条形图位置,代码如下:

# -*- coding:UTF-8 -*-
# region 引入调试模块
import random
from DebugInfo.DebugInfo import *
# endregion
白板 = 调试模板()
白板.准备表格()
# 假如你已经整理完成了数据,这里是样例数据
销售转化数据A队 = {'广告曝光': random.randrange(94, 98),
            '链接跳转': random.randrange(80, 90),
            '加购物车': random.randrange(75, 80),
            '生成订单': random.randrange(65, 74),
            '提交支付': random.randrange(40, 60),
            '完成支付': random.randrange(25, 40),
            '售后退款': random.randrange(1, 5)}
销售转化数据B队 = {'广告曝光': random.randrange(94, 98),
            '链接跳转': random.randrange(80, 90),
            '加购物车': random.randrange(75, 80),
            '生成订单': random.randrange(65, 74),
            '提交支付': random.randrange(40, 60),
            '完成支付': random.randrange(25, 40),
            '售后退款': random.randrange(1, 5)}
# 第一行作为标题
白板.添加一行('节点', '进度/转化率[{}{}]'.format(红字('A队'), 绿字('B队')), '备注').修饰行(青字)
# 第二行第二列打印 100 个 - 作为 100% 参考线
白板.添加一行('', '{} {}'.format(白板.分隔线.总长度(100).提示内容('100%参考线').修饰方法(黄字), 'xxx%'))
# 把业务数据依次添加到表格中
for 节点 in 销售转化数据A队.keys():
    转化率A队 = int(销售转化数据A队[节点] * 0.5)
    转化率B队 = int(销售转化数据B队[节点] * 0.5)
    转化率字符 = '|{}{}'.format(' ' * (转化率A队 - 1), 红字('{}%'.format(转化率A队)))
    转化率字符 = '{}{}{}'.format(转化率字符, ' ' * (转化率B队 - (显示宽度(转化率字符) - 转化率A队)), 绿字('{}%'.format(转化率B队)))
    白板.添加一行(节点, '{}\n{}{}'.format(转化率字符, 红字('▉' * 转化率A队), 绿字('▉' * 转化率B队)))
# 展示你的表格
白板.分隔线.总长度(白板.表格宽度()).提示内容('条形堆积图效果演示, 转化率对齐').修饰方法(红字).展示()
白板.展示表格()

以上代码中,我们将各团队的转化率数据在单独的行中,对齐各自团队的条形图位置进行显示,效果如下:

DebugInfo 打印条形堆积图效果 转化率对齐在条形图位置

小结

以上就是今天分享的使用DebugInfo模块输出条形堆积图的使用方法了,希望可以帮到大家。

到此这篇关于python 打印一个条形堆积图的文章就介绍到这了,更多相关python 条形堆积图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python爬取之json、pickle与shelve库的深入讲解

    python爬取之json、pickle与shelve库的深入讲解

    这篇文章主要给大家介绍了关于python爬取之json、pickle与shelve库的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 使用Python神器对付12306变态验证码

    使用Python神器对付12306变态验证码

    这篇文章主要介绍了使用Python神器对付12306变态验证码的相关资料,需要的朋友可以参考下
    2016-01-01
  • Python 对象序列化与反序列化之pickle json详细解析

    Python 对象序列化与反序列化之pickle json详细解析

    我们知道在Python中,一切皆为对象,实例是对象,类是对象,元类也是对象。本文正是要聊聊如何将这些对象有效地保存起来,以供后续使用
    2021-09-09
  • 分析Python中设计模式之Decorator装饰器模式的要点

    分析Python中设计模式之Decorator装饰器模式的要点

    这篇文章主要介绍了Python中设计模式之Decorator装饰器模式模式,文中详细地讲解了装饰对象的相关加锁问题,需要的朋友可以参考下
    2016-03-03
  • 简单了解python的break、continue、pass

    简单了解python的break、continue、pass

    这篇文章主要介绍了简单了解python的break、continue、pass,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • OpenCV MediaPipe实现颜值打分功能

    OpenCV MediaPipe实现颜值打分功能

    这篇文章主要介绍了通过OpenCV MediaPipe实现摄像头实时检测颜值打分功能,文中的示例代码讲解详细,对我们学习Python有一定的帮助,感兴趣的可以了解一下
    2021-12-12
  • python小练习题之条件语句if

    python小练习题之条件语句if

    这篇文章主要介绍了python小练习题之条件语句if的相关资料,文中介绍了年龄判断、身高判断、数字奇偶性判断、闰年判断、水仙花数判断、成绩等级判断以及三角形判断等常见场景,需要的朋友可以参考下
    2024-12-12
  • 一篇文章带你了解python标准库--random模块

    一篇文章带你了解python标准库--random模块

    这篇文章主要给大家介绍了关于Python中random模块常用方法的使用教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-08-08
  • python中的decimal类型转换实例详解

    python中的decimal类型转换实例详解

    decimal 模块实现了定点和浮点算术运算符,使用的是大多数人所熟悉的模型,而不是程序员熟悉的模型,即大多数计算机硬件实现的 IEEE 浮点数运算。这篇文章主要介绍了python里的decimal类型转换,需要的朋友可以参考下
    2019-06-06
  • 简单实现Python爬取网络图片

    简单实现Python爬取网络图片

    这篇文章主要教大家如何简单实现Python爬取网络图片,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04

最新评论