利用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实现定制交互式命令行的方法
Jul 03 Python
Python统计日志中每个IP出现次数的方法
Jul 06 Python
微信跳一跳游戏python脚本
Apr 01 Python
详解Python3.6安装psutil模块和功能简介
May 30 Python
Python中关于浮点数的冷知识
Sep 22 Python
详解python中docx库的安装过程
Nov 08 Python
python pygame实现球球大作战
Nov 25 Python
Python高级特性——详解多维数组切片(Slice)
Nov 26 Python
tensorflow实现训练变量checkpoint的保存与读取
Feb 10 Python
Python 实现将大图切片成小图,将小图组合成大图的例子
Mar 14 Python
python图片验证码识别最新模块muggle_ocr的示例代码
Jul 03 Python
python调用有道智云API实现文件批量翻译
Oct 10 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
日本十大最佳动漫,全都是二次元的神级作品
2019/10/05 日漫
PHP+FLASH实现上传文件进度条相关文件 下载
2007/07/21 PHP
php checkbox 取值详细说明
2010/08/19 PHP
深入PHP变量存储的详解
2013/06/13 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
2015/12/19 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
php实现的生成排列算法示例
2019/07/25 PHP
javascript+css 网页每次加载不同样式的实现方法
2009/12/27 Javascript
IE6下CSS图片缓存问题解决方法
2010/12/09 Javascript
javascript中基本类型和引用类型的区别分析
2015/05/12 Javascript
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
JQuery实现Ajax加载图片的方法
2015/12/24 Javascript
JavaScript中document.referrer的用法详解
2017/07/04 Javascript
ES6中Array.includes()函数的用法
2017/09/20 Javascript
vue实现多条件和模糊搜索功能
2019/05/28 Javascript
node.js中process进程的概念和child_process子进程模块的使用方法示例
2020/02/11 Javascript
jquery制作的移动端购物车效果完整示例
2020/02/24 jQuery
python中Apriori算法实现讲解
2017/12/10 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
浅谈Python traceback的优雅处理
2018/08/31 Python
Django Sitemap 站点地图的实现方法
2019/04/29 Python
Python玩转PDF的各种骚操作
2019/05/06 Python
django框架模板语言使用方法详解
2019/07/18 Python
python字符串反转的四种方法详解
2019/12/02 Python
Python实现动态给类和对象添加属性和方法操作示例
2020/02/29 Python
python网络编程socket实现服务端、客户端操作详解
2020/03/24 Python
Python 将 QQ 好友头像生成祝福语的实现代码
2020/05/03 Python
python 批量下载bilibili视频的gui程序
2020/11/20 Python
信息工程学院毕业生推荐信
2013/11/05 职场文书
机电一体化大学生求职信
2013/11/08 职场文书
一年级学生评语
2014/04/23 职场文书
应届毕业生自荐信
2014/05/28 职场文书
2014年设计师工作总结
2014/11/25 职场文书
读书笔记怎么写
2015/07/01 职场文书
简单聊聊Golang中defer预计算参数
2022/03/25 Golang
MySQL数据库实验之 触发器和存储过程
2022/06/21 MySQL