利用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中global与nonlocal比较
Nov 21 Python
Python中使用dom模块生成XML文件示例
Apr 05 Python
Python操作Oracle数据库的简单方法和封装类实例
May 07 Python
Python解析并读取PDF文件内容的方法
May 08 Python
python读取excel指定列数据并写入到新的excel方法
Jul 10 Python
python实现决策树分类
Aug 30 Python
Python综合应用名片管理系统案例详解
Jan 03 Python
Python栈的实现方法示例【列表、单链表】
Feb 22 Python
python接入支付宝的实例操作
Jul 20 Python
python 实现ping测试延迟的两种方法
Dec 10 Python
Pandas数据分析的一些常用小技巧
Feb 07 Python
Python中相见恨晚的技巧
Apr 13 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 md5下16位和32位的实现代码
2008/04/09 PHP
php中static静态变量的使用方法详解
2010/06/04 PHP
PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
2017/06/20 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
javascript开发中因空格引发的错误
2010/11/08 Javascript
jQuery中的.bind()、.live()和.delegate()之间区别分析
2011/06/08 Javascript
httpclient模拟登陆具体实现(使用js设置cookie)
2013/12/11 Javascript
javascript函数定义的几种区别小结
2014/01/06 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
2014/02/19 Javascript
jQuery操作表单常用控件方法小结
2015/03/23 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
2016/09/18 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
2016/12/31 Javascript
微信小程序实现页面浮动导航
2020/01/08 Javascript
Vue+tracking.js 实现前端人脸检测功能
2020/04/16 Javascript
Vue实现图书管理案例
2021/01/20 Vue.js
k8s node节点重新加入master集群的实现
2021/02/22 Javascript
浅谈Python中数据解析
2015/05/05 Python
Python中处理字符串的相关的len()方法的使用简介
2015/05/19 Python
python使用wxpy实现微信消息防撤回脚本
2019/04/29 Python
Python 控制终端输出文字的实例
2019/07/12 Python
PyCharm2020.3.2安装超详细教程
2021/02/08 Python
HTML5实现自带进度条和滑块滑杆效果
2018/04/17 HTML / CSS
Urban Outfitters德国官网:美国跨国生活方式零售公司
2018/05/21 全球购物
印尼第一大家居、生活和家具电子商务:Ruparupa
2019/11/25 全球购物
亚马逊意大利站点:Amazon.it
2020/12/31 全球购物
标准导师推荐信(医学类)
2013/10/28 职场文书
销售顾问的岗位职责
2013/11/13 职场文书
国培计划培训感言
2014/03/11 职场文书
年度考核自我鉴定
2014/03/19 职场文书
对孩子的寄语
2014/04/09 职场文书
《学会合作》教学反思
2014/04/12 职场文书
大学生团员个人总结
2015/02/14 职场文书
《索溪峪的野》教学反思
2016/02/19 职场文书
教你怎么用Python处理excel实现自动化办公
2021/04/30 Python
如何理解Vue前后端数据交互与显示
2021/05/10 Vue.js