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常用内置函数的使用教程详解

    Python常用内置函数的使用教程详解

    Python官方文档对于内置函数的介绍较为简略,但这些内置函数在日常工作中却扮演着不可或缺的角色。这篇文章为大家介绍了Python常用内置函数的使用,需要的可以参考一下
    2023-04-04
  • python字符串连接的N种方式总结

    python字符串连接的N种方式总结

    python中有很多字符串连接方式,今天在写代码,顺便总结一下,从最原始的字符串连接方式到字符串列表连接,大家感受下
    2014-09-09
  • python与xml数据的交互详解

    python与xml数据的交互详解

    这篇文章主要介绍了python与xml数据的交互详解,文章围绕主题站卡详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • python实现低通滤波器代码

    python实现低通滤波器代码

    今天小编就为大家分享一篇python实现低通滤波器代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python 爬取小说并下载的示例

    python 爬取小说并下载的示例

    这篇文章主要介绍了python 爬取小说并下载的示例,帮助大家更好的理解和学习python爬虫,感兴趣的朋友可以了解下
    2020-12-12
  • python实现mp3文件播放的具体实现代码

    python实现mp3文件播放的具体实现代码

    前段时间在搞一个基于python的语音助手,其中需要用到python播放音频的功能,下面这篇文章主要给大家介绍了关于python实现mp3文件播放的具体实现代码,需要的朋友可以参考下
    2023-05-05
  • Python使用一行代码获取上个月是几月

    Python使用一行代码获取上个月是几月

    本文介绍的关于Python时间日期处理,日期时间处理在实际应用场景中无处不在,所以这也成了编程语言中必不可少的模块,本文主要给大家介绍Python使用一行代码获取上个月是几月的相关知识,感兴趣的朋友一起看看吧
    2018-08-08
  • python web.py启动https端口的方式

    python web.py启动https端口的方式

    这篇文章主要介绍了python web.py启动https端口,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • django echarts饼图数据动态加载的实例

    django echarts饼图数据动态加载的实例

    今天小编就为大家分享一篇django echarts饼图数据动态加载的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 让你的Python代码实现类型提示功能

    让你的Python代码实现类型提示功能

    今天小编就为大家分享一篇让你的Python代码实现类型提示功能,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11

最新评论