python 打印一个条形堆积图

这篇具有很好参考价值的文章主要介绍了python 打印一个条形堆积图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

今天介绍一个不使用 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%,对两个团队的数据进行归一化处理后,打印成条形堆积图输出,效果如下:python 打印一个条形堆积图,python,python,matplotlib

转化率值跟随条形图显示

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

# -*- 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队))))

# 展示你的表格
白板.分隔线.总长度(白板.表格宽度()).提示内容('条形堆积图效果演示, 转化率对齐').修饰方法(红字).展示()
白板.展示表格()

代码输出效果如下:python 打印一个条形堆积图,python,python,matplotlib

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

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

# -*- 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队)))

# 展示你的表格
白板.分隔线.总长度(白板.表格宽度()).提示内容('条形堆积图效果演示, 转化率对齐').修饰方法(红字).展示()
白板.展示表格()

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

小结

以上就是今天分享的使用DebugInfo模块输出条形堆积图的使用方法了,希望可以帮到大家。文章来源地址https://www.toymoban.com/news/detail-663408.html

到了这里,关于python 打印一个条形堆积图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【100天精通Python】Day65:Python可视化_Matplotlib3D绘图mplot3d,绘制3D散点图、3D线图和3D条形图,示例+代码

      mpl_toolkits.mplot3d 是 Matplotlib 库中的一个子模块,用于绘制和可视化三维图形,包括三维散点图、曲面图、线图等。它提供了丰富的功能来创建和定制三维图形。以下是 mpl_toolkits.mplot3d 的主要功能和功能简介: 3D 散点图 :通过 scatter 函数,你可以绘制三维散点图,用于显示

    2024年02月07日
    浏览(57)
  • 【C#】最全单据打印源码(打印模板、条形码&二维码、字体样式)

    【C#】编号生成器(定义单号规则、固定字符、流水号、业务单号) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129129787 【C#】日期范围生成器(开始日期、结束日期) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129040663 【C#】组件化开发,调用dll组件方法 本文链接

    2024年02月03日
    浏览(72)
  • 522个matplotlib绘图案例,包含:折线图、散点图、条形图、饼图、直方图、3D图等,源码可直接运行!

    Matplotlib 是一个广泛使用的 Python 绘图库,可以用于生成各种类型的图表和可视化。它提供了丰富的功能和灵活的接口,使用户可以轻松地创建精美的图表。下面将介绍一些常见的Matplotlib图表类型。 折线图(Line Plot) 折线图是 Matplotlib 中最常见的图表类型之一。它用于显示数

    2024年02月15日
    浏览(40)
  • 在 Python 中打印换行符——打印一个新行

    在编程中处理字符串或文本数据经常涉及打印换行符。一行的结尾由换行符表示,它还会将光标前进到下一行的开头。使用转义字符 \\\" n ”,我们可以在 Python 中打印换行符。 其他编程语言可能有不同的打印换行符的规则。 了解 Windows 中的轻松访问中心 虽然某些语言可能具

    2024年02月05日
    浏览(49)
  • Matplotlib 是一个广泛用于 Python 数据可视化的库

    Matplotlib 是一个广泛用于 Python 数据可视化的库,它提供了丰富的绘图功能,允许用户创建各种类型的图表,从简单的折线图到复杂的三维图表,以及定制图形的各个方面。以下是Matplotlib的一些重要特点和常见用法: Matplotlib 的特点: 灵活性 :Matplotlib允许用户高度定制图形

    2024年02月07日
    浏览(48)
  • 184_Python 在 Excel 和 Power BI 绘制堆积瀑布图

    在 2023 年 8 月 22 日 微软 Excel 官方宣布:在 Excel 原生内置的支持了 Python。博客原文 笔者第一时间就更新到了 Excel 的预览版,通过了漫长等待分发,现在可以体验了,先来看看效果。 在 Excel 公式选项卡下 Python 菜单 原来的 Excel 公示栏,左边多了一个 PY 的绿高亮区域输入

    2024年02月07日
    浏览(46)
  • python绘制3D条形图

    python条形图系列: 带有误差棒的条形图💎 分组条形图💎 3D条形图 尽管在matplotlib支持在一个坐标系中绘制多组条形图,效果如下 其中,蓝色表示中国,橘色表示美国,绿色表示欧盟。从这个图就可以非常直观地看出,三者自2018到2022年的GDP变化情况。但相比之下,通过增加

    2024年02月15日
    浏览(42)
  • Python——柱状图(条形图、堆叠图)

    目录 1 基本函数 2 竖条形图 3 横条形图 4 并列条形图 5 添加标签 6 堆叠柱形图 x:数据标签(横坐标); height:个数或一个数组,条形的高度; [width]:可选参数,一个数或一个数组,条形的宽度,默认为 0.8

    2024年02月13日
    浏览(40)
  • 如何使用 Python 生成和读取条形码

    条形码在我们的日常生活中很常见。只需几个简单的步骤,您就可以使用 Python 轻松生成和扫描条形码。 当您从商店购买商品时,您所购买的物品上的平行黑条纹,具有不同宽度,被称为条形码。条形码是一种将数据以视觉、机器可读的方式表示的方法。条形码被用于存储有

    2024年02月04日
    浏览(32)
  • python绘制带有误差棒的条形图

    python条形图系列: 带有误差棒的条形图💎 分组条形图💎 3D条形图 在 matplotlib 中,通过 bar 和 barh 来绘制条形图,分别表示纵向和横向的条形图。二者的输入数据均主要为高度 x 和标签 height ,示例如下 效果为 其中,左侧为纵向的条形图,右侧为横向的条形图,二者分别由

    2024年02月13日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包