基本写法

from matplotlib import pyplot as plt
#设置大小,分别是 宽 和 高
plt.rcParams['figure.figsize'] = (5,5)
#定义饼的标签
lab = [8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5, 9.6,9.7]
#每个标签对应的值
val = [ 1,10 ,21, 39 ,39 ,40 ,18 ,25 ,19 ,20 , 9 , 3 , 5 , 1]
# 绘制饼状图
plt.pie(val,labels=lab)
#展示 pycharm里面需要加这个才能显示,jupyter notebook 里面不需要
plt.show()

百分比:autopct

需要显示百分比加一个参数就行:autopct
这里强调一下格式:
以 autopct=‘%.2f%%’ 为例
前后两边的百分号不可少,不然报错。
中间是格式 .2f 是保留两位小数(f:浮点数,这里可以自己试一试)

from matplotlib import pyplot as plt
#设置大小,分别是 宽 和 高
plt.rcParams['figure.figsize'] = (5,5)
#定义饼的标签
lab = [8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5, 9.6,9.7]
#每个标签对应的值
val = [ 1,10 ,21, 39 ,39 ,40 ,18 ,25 ,19 ,20 , 9 , 3 , 5 , 1]
# 绘制饼状图
plt.pie(val,labels=lab,autopct='%.2f%%')
#展示
plt.show()


但是这样不美观,你看,8.4 和 9.7 脸都贴一块了,这能忍?不想看他俩贴贴就需要一个参数

饼状图的分离:explode

from matplotlib import pyplot as plt
#设置大小,分别是 宽 和 高
plt.rcParams['figure.figsize'] = (5,5)
#定义饼的标签
lab = [8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5, 9.6,9.7]
#每个标签对应的值
val = [ 1,10 ,21, 39 ,39 ,40 ,18 ,25 ,19 ,20 , 9 , 3 , 5 , 1]
#到圆心的距离 这里的距离是按半径算的,1 就是半径
dis = [0.08,0.03,0.02,0.01,0.01,0,0.04,0.03,0.03,0.03,0.05,0.06,0.05,0.08]
# 绘制饼状图
plt.pie(val,labels=lab,autopct='%.2f%%',explode=dis)
#展示
plt.show()

设置饼状图百分比和文本距离中心位置

  • pctdistance :设置百分比标签与圆心的距离
  • labeldistance :设置各扇形标签与圆心的距离

用法和上面一样

from matplotlib import pyplot as plt
#设置大小,分别是 宽 和 高
plt.rcParams['figure.figsize'] = (5,5)
#定义饼的标签
lab = [8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5, 9.6,9.7]
#每个标签对应的值
val = [ 1,10 ,21, 39 ,39 ,40 ,18 ,25 ,19 ,20 , 9 , 3 , 5 , 1]
#到圆心的距离
dis = [0.08,0.03,0.02,0.01,0.01,0,0.04,0.03,0.03,0.03,0.05,0.06,0.05,0.08]
# 绘制饼状图
plt.pie(val,labels=lab,autopct='%.2f%%',explode=dis,pctdistance=1.2,labeldistance=1.3)
#展示
plt.show()

图例 :legend()


from matplotlib import pyplot as plt
#设置大小,分别是 宽 和 高
plt.rcParams['figure.figsize'] = (5,5)
#定义饼的标签
lab = [8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5, 9.6,9.7]
#每个标签对应的值
val = [ 1,10 ,21, 39 ,39 ,40 ,18 ,25 ,19 ,20 , 9 , 3 , 5 , 1]
#到圆心的距离
dis = [0.08,0.03,0.02,0.01,0.01,0,0.04,0.03,0.03,0.03,0.05,0.06,0.05,0.08]
# 绘制饼状图
plt.pie(val,labels=lab,autopct='%.2f%%',explode=dis,pctdistance=1.2,labeldistance=1.3)
#图例
plt.legend()
#展示
plt.show()


其实还有一些,不过我没用过,就没写

【饼状图】教你画一个大饼相关推荐

  1. Iocomp控件教程之Pie Chart——饼状图控件

    Pie Chart--饼状图控件(Pie Chart)以饼状图形式显示每一个项目内容所占的百分比比重.在设计时.能够使用属性编辑器加入或者移除项目以及更改属性值.在执行时.使用AddItem,Remo ...

  2. Flutter 自定义View之 饼状图

    版权声明:本文为博主原创文章,转载请注明出处! 今天跟大家分享的是用Flutter来实现的自定义饼状图,下面来看看效果! 通过点击左右两侧的按钮,可以实现扇形切换,被选中的扇形有个放大的效果,中间的百 ...

  3. Python+matplotlib绘制多门课程学生成绩分布饼状图

    封面图片:<Python程序设计实验指导书>,董付国,清华大学出版社 ================= 饼状图比较适合展示一个总体中各个类别所占的比例,例如商场年度营业额中各类商品.不同 ...

  4. Charon的python数据可视化分析4(饼状图)

    今天更新的内容是饼状图,也是一个比较简单的图,相信通过前面几个图的学习,对matplotlib也比较熟悉了.设置参数,调用函数,调用参数. 饼状图的使用和前几个类似,也是通过plt.pie()调用. ...

  5. vue中使用echart绘制柱状图、折现图、饼状图

    echarts有几个主要的字段,title.legend.xAxis. yAxis.tooltip.series. title 图表的标题 legend 用来标志图表数据,data字段的数组需要对应每 ...

  6. Echarts 饼状图实现自动高亮扇面

    在网上找了很多案例,基本上都不太符合自己想要的,这里想要饼状图中的每一个区域在定时器的作用下,每隔几秒高亮其中一个扇面,代码思路如下: 1.引用echarts.min.js版本号以3.x.为例 # 饼 ...

  7. axure画扇形_如何利用axure制作一个动态的饼状图

    话不多少,先放图! 饼状图 首先,我们来分析一下动态效果 1.鼠标悬浮饼状块颜色发生了改变,且尺寸发生了变化 2.鼠标移入不同的块内,提示框随着鼠标的移动而移动,且提示框内的文字发生了变化.​ ​然 ...

  8. python画饼图程序_python使用matplotlib画饼状图

    本文实例为大家分享了python使用matplotlib画饼状图的具体代码,供大家参考,具体内容如下 代码与详细注释 from matplotlib import pyplot as plt #调节图 ...

  9. php生成饼状图 柱形图,求一个饼状图或柱状图php生成类或例子

    求一个饼状图或柱状图php生成类或例子 时间:2006/7/19 6:10:04 作者:佚名 人气:268 PHP代码:---------------------------------------- ...

最新文章

  1. git 版本操作命令大全
  2. 200行自定义异步非阻塞Web框架
  3. [itint5]棋盘漫步
  4. 数字类 default 0和 default 0_数字化转型从0到N,只需这三步
  5. php getfooter,wordpress函数get_footer()用法示例
  6. python 机器学习管道_构建机器学习管道-第1部分
  7. 23种设计模式UML图
  8. C语言指针怎么存二维数组,C语言怎么用指针代替二维数组
  9. 2018.9.10.Matlab实验二:Matlab基本运算
  10. 真正能挣钱的分析模型有哪些?这三个你绝对要学会
  11. 容灾服务器作用,存储容灾服务
  12. 运行VS2012出现“未找到与约束....”的解决方法
  13. js实现网页中元素缩放(zoom vs scale)
  14. 从DOS中装操作系统时要加载smartdrv命令
  15. 上月用得好好的支付宝获取月账单的Java接口,月初突然返回“入参不合法”的解决方法
  16. 【HTTP】401未经授权的错误及其通常解决方案
  17. 6.misc类设备与蜂鸣器驱动
  18. python1加到100_python for循环1加到100的和
  19. 自己封装的element-ui的table插件,实现render渲染,插槽等功能
  20. 9.3(使用Date类) 编写程序创建一个Date对象,设置它的流逝时间

热门文章

  1. WAVECOM AT命令常见问题
  2. 关于BQ40Z50-R1使用过程中的点点滴滴
  3. 大学计算机基础实验指导第四版答案,大学计算机基础实验指导答案.doc
  4. Python中用if-else来实现BMI指数计算
  5. Word怎么转换成PDF?这种方法电脑、手机都能用
  6. 电路设计实例(常规放大电路和差分放大电路)
  7. 一切为了孩子 唯美优雅——无锡市英皇尤渡实验幼儿园特色办园
  8. juicer使用案例
  9. VL01N、VL02N保存到数据库后触发的增强
  10. 【理解】线结构光成像模型