利用Tkinter和matplotlib两种方式画饼状图的实例
作者:欠你一颗糖 时间:2021-09-22 18:10:35
当我们学习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()
其实两种方法都大同小异,只不过应用的模块不一样,第一种方法只能绘制图形不能添加饼图的内容,而第二种方法内部封装的饼形图的样式,可以添加的样式也丰富多彩。
来源:http://www.cnblogs.com/KBe24Love/archive/2017/11/05/7789962.html
标签:画饼图,Tkinter,matplotlib
0
投稿
猜你喜欢
一文详解前端进阶之IntersectionObserver
2024-05-03 15:07:48
Bootstrap风格的WPF样式
2024-05-02 17:32:17
MenuEverywhere 程序图标设计
2011-08-14 06:57:23
golang 将[]byte转成16进制的实现
2024-02-17 00:35:03
ueditor编辑器不能上传图片问题的解决方法
2023-09-16 04:55:03
python微信跳一跳系列之自动计算跳一跳距离
2021-08-01 14:18:36
3段Python图像处理的实用代码的分享
2021-10-19 08:06:58
python3 简单实现组合设计模式
2023-06-12 19:15:50
python脚本实现验证码识别
2022-02-03 09:41:30
linux 下python多线程递归复制文件夹及文件夹中的文件
2021-06-28 03:27:44
Python日期时间对象转换为字符串的实例
2022-05-24 14:51:29
7个Python中的隐藏小技巧分享
2022-06-20 22:36:14
python中找出numpy array数组的最值及其索引方法
2022-11-26 14:24:00
详解pandas中MultiIndex和对象实际索引不一致问题
2021-07-10 20:43:27
python中使用enumerate函数遍历元素实例
2021-05-08 04:56:41
python中分组函数groupby和分组运算函数agg的使用
2023-05-25 03:15:48
Java基础开发之JDBC操作数据库增删改查,分页查询实例详解
2024-01-15 04:16:28
值得收藏的10道python 面试题
2022-04-22 12:10:33
关于antd-vue a-menu菜单绑定路由的相关问题
2023-07-02 16:33:12
PL/SQL编程经验小结开发者网络Oracle
2010-07-18 13:27:00