利用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 09 Python
Python实现简单的可逆加密程序实例
Mar 05 Python
Python使用chardet判断字符编码
May 09 Python
Python 实现一个颜色色值转换的小工具
Dec 06 Python
Django 如何获取前端发送的头文件详解(推荐)
Aug 15 Python
pandas使用get_dummies进行one-hot编码的方法
Jul 10 Python
python+selenium 点击单选框-radio的实现方法
Sep 03 Python
Pytorch之view及view_as使用详解
Dec 31 Python
Python如何实现在字符串里嵌入双引号或者单引号
Mar 02 Python
django配置app中的静态文件步骤
Mar 27 Python
用python开发一款操作MySQL的小工具
May 12 Python
python中出现invalid syntax报错的几种原因分析
Feb 12 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
二次元帅气男生排行榜,只想悄悄收藏系列
2020/03/04 日漫
很好用的PHP数据库类
2009/05/27 PHP
php xml 入门学习资料
2011/01/01 PHP
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
Yii2主题(Theme)用法详解
2016/07/23 PHP
用PHP的反射实现委托模式的讲解
2019/03/22 PHP
JavaScript 继承详解(三)
2009/07/13 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/25 Javascript
JavaScript用JQuery呼叫Server端方法示例代码
2014/09/03 Javascript
javascript对象的相关操作小结
2016/05/16 Javascript
简单谈谈JS数组中的indexOf方法
2016/10/13 Javascript
easyui导出excel无法弹出下载框的快速解决方法
2016/11/10 Javascript
Angular实现搜索框及价格上下限功能
2018/01/19 Javascript
Node.js引入UIBootstrap的方法示例
2018/05/11 Javascript
几个你不知道的技巧助你写出更优雅的vue.js代码
2018/06/11 Javascript
浅谈ElementUI中switch回调函数change的参数问题
2018/08/24 Javascript
vue路由插件之vue-route
2019/06/13 Javascript
小程序跳转H5页面的方法步骤
2020/03/06 Javascript
Node.js API详解之 timer模块用法实例分析
2020/05/07 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
2020/05/19 jQuery
Python多线程编程(四):使用Lock互斥锁
2015/04/05 Python
python动态网页批量爬取
2016/02/14 Python
Python基于pandas实现json格式转换成dataframe的方法
2018/06/22 Python
python之拟合的实现
2019/07/19 Python
pygame实现俄罗斯方块游戏(AI篇1)
2019/10/29 Python
移动web模拟客户端实现多方框输入密码效果【附代码】
2016/03/25 HTML / CSS
HTML5 canvas画矩形时出现边框样式不一致的解决方法
2013/10/14 HTML / CSS
GLAMGLOW香港官网:明星出镜前的秘密武器
2017/03/16 全球购物
五一手机促销方案
2014/03/08 职场文书
工商企业管理专业自荐信范文
2014/04/12 职场文书
维修工先进事迹
2014/05/29 职场文书
电子信息专业应届生自荐信
2014/06/04 职场文书
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
小浪底导游词
2015/02/12 职场文书
小学学习委员竞选稿
2015/11/20 职场文书
2019大学生实习报告
2019/06/21 职场文书