利用Tkinter和matplotlib两种方式画饼状图
- 当我们学习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两种方式画饼状图的更多相关文章
- vue中使用echarts画饼状图
echarts的中文文档地址:https://echarts.baidu.com/tutorial.html#5%20%E5%88%86%E9%92%9F%E4%B8%8A%E6%89%8B%20EC ...
- Keras中间层输出的两种方式,即特征图可视化
训练好的模型,想要输入中间层的特征图,有两种方式: 1. 通过model.get_layer的方式.创建新的模型,输出为你要的层的名字. 创建模型,debug状态可以看到模型中,base_model/ ...
- 4.5Python数据处理篇之Matplotlib系列(五)---plt.pie()饼状图
目录 目录 前言 (一)简单的饼状图 (二)添加阴影和突出部分 (三)显示图例和数据标签: 目录 前言 饼状图需要导入的是: plt.pie(x, labels= ) (一)简单的饼状图 (1)说明: ...
- canvas+js画饼状图
效果: 源码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- 获取表单选中的值(利用php和js两种方式)
php代码中获取表单中单选按钮的值: (单选按钮只能让我们选择一个,这里有一个“checked”属性,这是用来默认选取的,我们每次刷新我们的页面时就默认为这个值.) 例: <form name= ...
- Python数据可视化:画饼状图、折线图、圈图
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. from math import pi import matplotlib ...
- python plotly 画饼状图
代码 import pandas as pd import numpy as np import plotly.plotly as py import plotly.graph_objs as go ...
- Python:实现图片裁剪的两种方式——Pillow和OpenCV
原文:https://blog.csdn.net/hfutdog/article/details/82351549 在这篇文章里我们聊一下Python实现图片裁剪的两种方式,一种利用了Pillow,还 ...
- PHP画矩形,椭圆,圆,画椭圆弧 ,饼状图
1:画矩形: imagerectangle ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $col ) imagere ...
随机推荐
- [err] 1055
本人mysql安装在ubuntu16.04上,mysql版本是5.7.19:在创建表和插入数据时报了 [Err] 1055 - Expression #1 of ORDER BY clause is ...
- Java 网络 IO 模型
在进入主题之前先看个 Java 网络编程的一个简单例子:代码很简单,客户端和服务端进行通信,对于客户端的每次输入,服务端回复 get.注意,服务端可以同时允许多个客户端连接. 服务端端代码: // 创 ...
- Shell 变量详解教程之位置变量与预定义变量。
Shell 变量分为3部分,分别是用户自定义变量.位置变量和预定义变量. 一. 自定义变量 那么,什么是变量呢?简单的说,就是让某一个特定字符串代表不固定的内容,用户定义的变量是最普通的Shell ...
- 每周刷题记录--by noble_
学习hzwer的博客. ----------------------------------------------------------------- 2017.10.3 主要是水题与傻逼dp: ...
- 【Windows 10 应用开发】细说文本资源文件(resw)
最近,小戏骨版<红楼梦>很是火热,老周一口气看完了9集,一直看到 Surface 的风扇呼呼响.林黛玉和薛宝钗这两个角色都演得不怎么样,倒是演史湘云的娃娃演得不错,老周甚是喜欢. 于是,昨 ...
- 《深入浅出WPF》笔记——绘画与动画
<深入浅出WPF>笔记——绘画与动画 本篇将记录一下如何在WPF中绘画和设计动画,这方面一直都不是VS的强项,然而它有一套利器Blend:这方面也不是我的优势,幸好我有博客园,能记录一 ...
- 学习Ajax
1.XHR对象 IE7+.Firefox.Opera.Chrome和Safari都支持原生XMLHttpRequest对象,IE6不支持,只支持ActiveXObject对象,该对象在IE11中已经不 ...
- Python 并发编程(一)之线程
常用用法 t.is_alive() Python中线程会在一个单独的系统级别线程中执行(比如一个POSIX线程或者一个Windows线程)这些线程将由操作系统来全权管理.线程一旦启动,将独立执行直到目 ...
- Microsoft Offce 使用纪事:oneNote笔记本分区删除
OneNote 笔记本和分区删除 OneNote 目前无法在客户端和本地删除已有的笔记本和分区,只能通过OneDrive才能够从云端删除: step1 step2 step3 后记 由于需要登录One ...
- Jfinal配置不得不注意的问题
问题摘要 使用jfinal mvc开发的时候,输出配置环境一定要注意,因为jfinal项目的依赖与log4j,等全部是在此目录下. 使用eclipse做演示一般有两种情况 1. WebContent\ ...