利用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不规范的日期字符串处理类
Jun 10 Python
Python-基础-入门 简介
Aug 09 Python
python实现带声音的摩斯码翻译实现方法
May 20 Python
请不要重复犯我在学习Python和Linux系统上的错误
Dec 12 Python
python实现TF-IDF算法解析
Jan 02 Python
python如何派生内置不可变类型并修改实例化行为
Mar 21 Python
基于python实现聊天室程序
Jul 27 Python
BP神经网络原理及Python实现代码
Dec 18 Python
python使用sessions模拟登录淘宝的方式
Aug 16 Python
简单了解python数组的基本操作
Nov 26 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
Feb 12 Python
Python实现JS解密并爬取某音漫客网站
Oct 23 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
3种平台下安装php4经验点滴
2006/10/09 PHP
php 采集书并合成txt格式的实现代码
2009/03/01 PHP
从php核心代码分析require和include的区别
2011/01/02 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
2011/05/29 PHP
ThinkPHP中ajax使用实例教程
2014/08/22 PHP
Linux下PHP安装mcrypt扩展模块笔记
2014/09/10 PHP
ThinkPHP中使用ajax接收json数据的方法
2014/12/18 PHP
PHP getName()函数讲解
2019/02/03 PHP
PHP crypt()函数的用法讲解
2019/02/15 PHP
PHP递归算法的简单实例
2019/02/28 PHP
Laravel框架自定义公共函数的引入操作示例
2019/04/16 PHP
PHP开发API接口签名生成及验证操作示例
2020/05/27 PHP
NiftyCube——轻松实现圆角边框
2007/02/20 Javascript
用 Javascript 验证表单(form)中的单选(radio)值
2009/09/08 Javascript
JQuery实现的在新窗口打开链接的方法小结
2010/04/22 Javascript
关于Jquery操作Cookie取值错误的解决方法
2013/08/26 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
js方法数据验证的简单实例
2016/09/17 Javascript
javascript构造函数以及原型对象的理解
2017/01/13 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
微信小程序网络封装(简单高效)
2018/08/06 Javascript
基于jQuery ztree实现表格风格的树状结构
2018/08/31 jQuery
JavaScript接口实现方法实例分析
2020/05/16 Javascript
解决Antd Table表头加Icon和气泡提示的坑
2020/11/17 Javascript
Python3实现生成随机密码的方法
2014/08/23 Python
使用简单工厂模式来进行Python的设计模式编程
2016/03/01 Python
R语言 vs Python对比:数据分析哪家强?
2017/11/17 Python
Python提取特定时间段内数据的方法实例
2019/04/01 Python
解决pycharm下os.system执行命令返回有中文乱码的问题
2019/07/07 Python
GDAL 矢量属性数据修改方式(python)
2020/03/10 Python
使用tensorflow进行音乐类型的分类
2020/08/14 Python
全球度假村:Club Med
2017/11/27 全球购物
娇韵诗俄罗斯官方网站:Clarins俄罗斯
2020/10/03 全球购物
艺术设计专业个人求职信
2013/09/21 职场文书
高中体育课教学反思
2016/02/16 职场文书
2019年员工旷工保证书!
2019/06/28 职场文书