使用autopct关键字

我们知道显示的百分比乘以所有实际值之和必须是实际值,我们可以将其定义为一个函数,并使用autopct关键字将此函数提供给plt.pie。import matplotlib.pyplot as plt

import numpy

labels = 'Frogs', 'Hogs', 'Dogs'

sizes = numpy.array([5860, 677, 3200])

colors = ['yellowgreen', 'gold', 'lightskyblue']

def absolute_value(val):

a = numpy.round(val/100.*sizes.sum(), 0)

return a

plt.pie(sizes, labels=labels, colors=colors,

autopct=absolute_value, shadow=True)

plt.axis('equal')

plt.show()

必须小心,因为计算涉及一些错误,所以提供的值只能精确到一些小数位。

下面的函数可能更高级一些,它通过比较计算值和输入数组之间的差异,尝试从输入数组中获取原始值。此方法不存在不精确的问题,但依赖于彼此完全不同的输入值。def absolute_value2(val):

a = sizes[ numpy.abs(sizes - val/100.*sizes.sum()).argmin() ]

return a

创建饼图后更改文本

另一种方法是先用百分比值绘制饼图,然后替换它们。为此,我们将存储由plt.pie()返回的autoct标签,并在其上循环以用原始数组中的值替换文本。注意,plt.pie()只返回三个参数,最后一个是感兴趣的标签,当提供autopct关键字时,我们在这里将其设置为空字符串。labels = 'Frogs', 'Hogs', 'Dogs'

sizes = numpy.array([5860, 677, 3200])

colors = ['yellowgreen', 'gold', 'lightskyblue']

p, tx, autotexts = plt.pie(sizes, labels=labels, colors=colors,

autopct="", shadow=True)

for i, a in enumerate(autotexts):

a.set_text("{}".format(sizes[i]))

plt.axis('equal')

plt.show()

python饼图显示数量_如何在matplotlib饼图中显示实际值(Python)?相关推荐

  1. python绘图背景透明_如何在 Matplotlib 中更改绘图背景

    介绍Matplotlib是Python中使用最广泛的数据可视化库之一.无论是简单还是复杂的可视化项目,它都是大多数人的首选库.在本教程中,我们将研究如何在Matplotlib中更改绘图的背景.导入数据 ...

  2. python设置横坐标间隔_如何在matplotlib中更改刻度之间的间距?

    刻度标签之间的间距完全由轴上刻度之间的间距决定.因此,在给定的ticklabel之间获得更多空间的唯一方法是使轴更大. 为了确定标签不重叠所需的空间,可以找出最大的标签并将其长度乘以滴答标签的数量.然 ...

  3. python汉字无法显示图片_完美解决matplotlib画图中文显示问题

    相信有很多人曾经被matplotlib画图的中文显示问题所困扰,包括我自己.每次生产环境发生改变,都会遭遇到这个问题,然后需要花大量的时间在它上边.最可气的是每次遇到的问题不一定一样,上一次使用的方法 ...

  4. jupyter中显示行数_如何在Jupyter Noteb中显示所有行

    我有下面的R代码来显示数据(120行).在require(plyr) seed=42 blocksize = 4 N = 120 set.seed(seed) block = rep(1:ceilin ...

  5. react前端显示图片_如何在react项目中引用图片?

    如何在react项目中引用图片?本文码云笔记将为大家整理在react项目中插入图片以及背景图片的方法,希望对需要的小伙伴提供一些参考. 在react项目中插入图片以及背景图片的方法共有2种: 1.im ...

  6. 在access窗体中加图片_如何在Access窗体中显示指定路径的图片

    在Access中,如果把图形对象以OLE格式的字段保存,那么在窗体中可以直接显示出图片来.但是这样做有以下不足:一.需要将图片逐一插入到表中,工作量太大.二.使数据库文件变得庞大.三.相同的图片文件, ...

  7. word标尺灰色_如何在Microsoft Word中显示和隐藏标尺

    word标尺灰色 Rulers in Word help you position text, graphics, tables, and other elements in your documen ...

  8. python使用作为转义字符_当需要在字符串中使用特殊字符时,Python使用作为转义字符的起始符号...

    当需要在字符串中使用特殊字符时,Python使用作为转义字符的起始符号 答:\\ 最早出现的时间是 答:经前12小时 要想把握说话的艺术,需要掌握一下几个方面: 答:准确地说 清晰地说 礼貌地说 幽默 ...

  9. 堆积柱形图显示总数_在Excel堆积柱形图中显示合计值

    在Excel中,用堆积柱形图可以比较相交于类别轴上的每一数值占总数值的大小.对于普通的簇状柱形图,我们可以在每个柱形系列的顶端放置一个数据标志,如数值,来反映各系列数据的大小.对于堆积柱形图,Exce ...

最新文章

  1. Linux检查镜像,Shell脚本实现检测Cygwin最快的镜像站点
  2. TreeList右键菜单功能
  3. Mysql临时表的用法 - 51CTO.COM
  4. 六款小巧的HTTP Server[C语言] - 贵贵的博客 - 开发|架构|开源|共享
  5. 前端学习(2960):实现发送axios请求
  6. delphi random 六位_《蒙面唱将猜猜猜》第五季将播,六位唱将率先登场
  7. 2013蓝桥杯java试题_蓝桥杯2013决赛java本科b组试题.doc
  8. powershell自动化操作AD域、Exchange邮箱系列(6)——获取并监控内存、CPU占用率
  9. 【动态规划】多重背包问题:P1077摆花
  10. discuz-ucenter-api-for-java 中文乱码问题
  11. Linux 视频教程学习资源
  12. Windows系统安装运行库
  13. 鸿蒙与Android API对应关系
  14. 求二元函数最大值matlab,利用matlab, 二元函数求最大值
  15. 苹果手机投影_智能投影机和手机无线同屏
  16. Proteus仿真——用两片74HC148及少量逻辑门构成16线--4线优先级编译器
  17. java SSM 框架 多数据源
  18. UE5/C++ 基于GAS的角色升级 7.2 准备好经验奖励效果GE
  19. 基于web的家电维修系统/家电维修管理系统
  20. DM10-偏差-方差-验证曲线-学习曲线

热门文章

  1. 注册+登录+列表+详情+自定义加减+购物车
  2. 无监督学习之Kmeans算法
  3. JspXCMS自学(一)JspXCMS介绍
  4. python编程游戏软件_python编程教学
  5. 经典再现,用python画出剑仙一中的绝美桃花林
  6. 偏好设置(Preference)
  7. excel中第一列相同,合并第2列中相应单元格内容,并用顿号隔开
  8. Latex tex论文文件表格头部分割分栏斜线
  9. 『杭电1101』The Parallel Challenge Ballgame
  10. 计算机毕业设计SSM大学请假管理系统【附源码数据库】