利用Tkinter和matplotlib两种方式画饼状图的实例


Posted in Python onNovember 06, 2017

当我们学习python的时候,总会用到一些常用的模块,接下来我就详细讲解下利用两种不同的方式画饼状图。
首先利用【Tkinter】中的canvas画布来画饼状图:

from tkinter import Tk, Canvas
def DrawPie():
  #创建窗口
  windows=Tk()

  #添加标题
  windows.title("画饼图")

  # 设置画布样式
  canvas=Canvas(windows,height=500,width=500)

  # 将画布打包到窗口
  canvas.pack()

  #利用画布的create_arc画饼形,(400,400)和(100,100)为饼形外围的矩形,
  # start=角度起始,extent=旋转的度数,fill=填充的颜色
  canvas.create_arc(400,400,100,100,start=0,extent=36,fill="red")
  canvas.create_arc(400,400,100,100,start=36,extent=72,fill="green")
  canvas.create_arc(400,400,100,100,start=108,extent=108,fill="yellow")
  canvas.create_arc(400,400,100,100,start=216,extent=144,fill="blue")

  # 为各个扇形添加内容,圆心为(250,250)
  canvas.create_text(430,200,text="36°",font=("华文新魏",20))
  canvas.create_text(330,100,text="72°",font=("华文新魏",20))
  canvas.create_text(90,200,text="108°",font=("华文新魏",20))
  canvas.create_text(390,370,text="144°",font=("华文新魏",20))

  # 开启消息循环
  windows.mainloop()

if __name__ == '__main__':
#调用方法
  DrawPie()

以上方法就是用的Tkinter画布来画饼状图的,接下来我们来看下第三方模块【matplotlib】中的pyplot:

from matplotlib import pyplot
# 中文支持
pyplot.rcParams['font.sans-serif'] = ['SimHei']
# 用来正常显示中文标签
pyplot.rcParams['axes.unicode_minus'] = False # 用来正常显示负号

def showPieChart():
   #调用pyplot模块中的pie方法绘制饼图,pie方法的第一个参数是各个部分所占的比例,后面其他的参数是对饼形图的一些修饰的标签,
labels为描述的内容,startangle为绘制的起始角度,counterclock为绘制的方向(默认为逆时针)

  pyplot.pie([36,72,108,144], labels=["36°", "72°", "108°", "144°"], startangle=90, counterclock=False)
   #显示图形
  pyplot.show()

if __name__ == '__main__':
 #调用函数
  showPieChart()

其实两种方法都大同小异,只不过应用的模块不一样,第一种方法只能绘制图形不能添加饼图的内容,而第二种方法内部封装的饼形图的样式,可以添加的样式也丰富多彩。

以上这篇利用Tkinter和matplotlib两种方式画饼状图的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
Jun 25 Python
python基础教程之自定义函数介绍
Aug 29 Python
python中实现php的var_dump函数功能
Jan 21 Python
go和python变量赋值遇到的一个问题
Aug 31 Python
Python Socket使用实例
Dec 18 Python
pandas数据框,统计某列数据对应的个数方法
Apr 11 Python
浅谈DataFrame和SparkSql取值误区
Jun 09 Python
python操作excel文件并输出txt文件的实例
Jul 10 Python
Python实现端口检测的方法
Jul 24 Python
安装2019Pycharm最新版本的教程详解
Oct 22 Python
如何分离django中的媒体、静态文件和网页
Nov 12 Python
使用Python实现NBA球员数据查询小程序功能
Nov 09 Python
django实现登录时候输入密码错误5次锁定用户十分钟
Nov 05 #Python
用Python登录好友QQ空间点赞的示例代码
Nov 04 #Python
Python通过命令开启http.server服务器的方法
Nov 04 #Python
Python实现一个简单的验证码程序
Nov 03 #Python
Python编程django实现同一个ip十分钟内只能注册一次
Nov 03 #Python
简单了解Python中的几种函数
Nov 03 #Python
python Pygame的具体使用讲解
Nov 03 #Python
You might like
php版交通银行网银支付接口开发入门教程
2016/09/26 PHP
jquery下操作HTML控件的实现代码
2010/01/12 Javascript
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
2013/08/13 Javascript
javascript监听鼠标滚轮事件浅析
2014/06/05 Javascript
JS实现网页表格自动变大缩小的方法
2015/03/09 Javascript
利用js实现禁止复制文本信息
2015/06/03 Javascript
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
jQuery右下角旋转环状菜单特效代码
2015/08/10 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
javascript之IE版本检测超简单方法
2016/08/20 Javascript
基于jQuery实现中英文切换导航条效果
2016/09/18 Javascript
使用jquery如何获取时间
2016/10/13 Javascript
JS正则子匹配实例分析
2016/12/22 Javascript
微信小程序 this和that详解及简单实例
2017/02/13 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
微信小程序 支付功能(前端)的实现
2017/05/24 Javascript
vue实现条件叠加搜索的解决方法
2019/05/28 Javascript
Vue项目实现简单的权限控制管理功能
2019/07/17 Javascript
vue实现简单全选和反选功能
2020/09/15 Javascript
全面解析Python的While循环语句的使用方法
2015/10/13 Python
tensorflow TFRecords文件的生成和读取的方法
2018/02/06 Python
Django管理员账号和密码忘记的完美解决方法
2018/12/06 Python
Python制作动态字符图的实例
2019/01/27 Python
在Python文件中指定Python解释器的方法
2019/02/18 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
Python button选取本地图片并显示的实例
2019/06/13 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
2020/01/13 Python
美国著名的团购网站:Woot
2016/08/02 全球购物
个人自我评价和职业目标
2014/01/24 职场文书
小学生打架检讨书
2014/01/26 职场文书
大二自我鉴定
2014/01/31 职场文书
合作协议书模板
2014/10/10 职场文书
2015重阳节敬老活动总结
2015/07/29 职场文书
2016年情人节广告语
2016/01/28 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书
Python实现学生管理系统(面向对象版)
2021/06/24 Python