利用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 相关文章推荐
python求crc32值的方法
Oct 05 Python
使用Python制作获取网站目录的图形化程序
May 04 Python
约瑟夫问题的Python和C++求解方法
Aug 20 Python
Python中遇到的小问题及解决方法汇总
Jan 11 Python
Python进阶学习之特殊方法实例详析
Dec 01 Python
Python多继承原理与用法示例
Aug 23 Python
python使用wxpy轻松实现微信防撤回的方法
Feb 21 Python
Python FFT合成波形的实例
Dec 04 Python
python的json包位置及用法总结
Jun 21 Python
详解Python高阶函数
Aug 15 Python
python PIL模块的基本使用
Sep 29 Python
Python爬虫实战之爬取京东商品数据并实实现数据可视化
Jun 07 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 构造函数construct的前下划线是双的_
2009/12/08 PHP
php 获取当前访问的url文件名的方法小结
2010/02/08 PHP
php数组函数序列之array_values() 获取数组元素值的函数与方法
2011/10/30 PHP
PHP中使用数组实现堆栈数据结构的代码
2012/02/05 PHP
基于jQuery判断两个元素是否有重叠部分的代码
2012/07/25 Javascript
javascript中负数算术右移、逻辑右移的奥秘探索
2013/10/17 Javascript
JS自调用匿名函数具体实现
2014/02/11 Javascript
js仿手机页面文件下拉刷新效果
2016/10/14 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
2016/12/21 Javascript
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
使用requirejs模块化开发多页面一个入口js的使用方式
2017/06/14 Javascript
vue.js中npm安装教程图解
2018/04/10 Javascript
vue2.0 路由模式mode="history"的作用
2018/10/18 Javascript
示例vue 的keep-alive缓存功能的实现
2018/12/13 Javascript
JQuery特殊效果和链式调用操作示例
2019/05/13 jQuery
JavaScript定时器设置、使用与倒计时案例详解
2019/07/08 Javascript
js实现随机圆与矩形功能
2020/10/29 Javascript
如何运行Python程序的方法
2013/04/21 Python
Python struct模块解析
2014/06/12 Python
零基础写python爬虫之抓取糗事百科代码分享
2014/11/06 Python
python使用pil生成图片验证码的方法
2015/05/08 Python
python itchat实现微信好友头像拼接图的示例代码
2017/08/14 Python
python中numpy.zeros(np.zeros)的使用方法
2017/11/07 Python
Python简单实现查找一个字符串中最长不重复子串的方法
2018/03/26 Python
python直接获取API传递回来的参数方法
2018/12/17 Python
Pandas之DataFrame对象的列和索引之间的转化
2019/06/25 Python
Python队列、进程间通信、线程案例
2019/10/25 Python
wxPython实现带颜色的进度条
2019/11/19 Python
Python实现扫码工具的示例代码
2020/10/09 Python
存储过程和函数的区别
2013/05/28 面试题
大学自我鉴定范文
2013/12/26 职场文书
《赠汪伦》教学反思
2014/04/12 职场文书
四风问题查摆材料
2014/08/25 职场文书
童年读书笔记
2015/06/26 职场文书
2016五一劳动节慰问信
2015/11/30 职场文书
搭建zabbix监控以及邮件报警的超级详细教学
2022/07/15 Servers