1. 当我们学习python的时候,总会用到一些常用的模块,接下来我就详细讲解下利用两种不同的方式画饼状图。
    首先利用【Tkinter】中的canvas画布来画饼状图:
  1. 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
  1. from matplotlib import pyplot
    # 中文支持
    pyplot.rcParams['font.sans-serif'] = ['SimHei']
    # 用来正常显示中文标签
    pyplot.rcParams['axes.unicode_minus'] = False # 用来正常显示负号

    def showPieChart():
    #调用pyplot模块中的pie方法绘制饼图,pie方法的第一个参数是各个部分所占的比例,后面其他的参数是对饼形图的一些修饰的标签,
    labels为描述的内容,
    startangle为绘制的起始角度,counterclock为绘制的方向(默认为逆时针)
  1. pyplot.pie([36,72,108,144], labels=["36°", "72°", "108°", "144°"], startangle=90, counterclock=False)
    #显示图形

    pyplot.show()

    if __name__ == '__main__':
       #调用函数
    showPieChart()

    其实两种方法都大同小异,只不过应用的模块不一样,第一种方法只能绘制图形不能添加饼图的内容,而第二种方法内部封装的饼形图的样式,可以添加的样式也丰富多彩。


  1.  

利用Tkinter和matplotlib两种方式画饼状图的更多相关文章

  1. vue中使用echarts画饼状图

    echarts的中文文档地址:https://echarts.baidu.com/tutorial.html#5%20%E5%88%86%E9%92%9F%E4%B8%8A%E6%89%8B%20EC ...

  2. Keras中间层输出的两种方式,即特征图可视化

    训练好的模型,想要输入中间层的特征图,有两种方式: 1. 通过model.get_layer的方式.创建新的模型,输出为你要的层的名字. 创建模型,debug状态可以看到模型中,base_model/ ...

  3. 4.5Python数据处理篇之Matplotlib系列(五)---plt.pie()饼状图

    目录 目录 前言 (一)简单的饼状图 (二)添加阴影和突出部分 (三)显示图例和数据标签: 目录 前言 饼状图需要导入的是: plt.pie(x, labels= ) (一)简单的饼状图 (1)说明: ...

  4. canvas+js画饼状图

    效果: 源码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  5. 获取表单选中的值(利用php和js两种方式)

    php代码中获取表单中单选按钮的值: (单选按钮只能让我们选择一个,这里有一个“checked”属性,这是用来默认选取的,我们每次刷新我们的页面时就默认为这个值.) 例: <form name= ...

  6. Python数据可视化:画饼状图、折线图、圈图

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. from math import pi import matplotlib ...

  7. python plotly 画饼状图

    代码 import pandas as pd import numpy as np import plotly.plotly as py import plotly.graph_objs as go ...

  8. Python:实现图片裁剪的两种方式——Pillow和OpenCV

    原文:https://blog.csdn.net/hfutdog/article/details/82351549 在这篇文章里我们聊一下Python实现图片裁剪的两种方式,一种利用了Pillow,还 ...

  9. PHP画矩形,椭圆,圆,画椭圆弧 ,饼状图

    1:画矩形: imagerectangle ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $col ) imagere ...

随机推荐

  1. Ensemble Learning: Bootstrap aggregating (Bagging) & Boosting & Stacked generalization (Stacking)

    Booststrap aggregating (有些地方译作:引导聚集),也就是通常为大家所熟知的bagging.在维基上被定义为一种提升机器学习算法稳定性和准确性的元算法,常用于统计分类和回归中. ...

  2. GitHub Desktop客户端打开文件乱码问题解决方案

    今天在使用GitHub Desktop客户端的时候,发添加本地仓库后文件内容显示为乱码. 1.现象  如下图所示: 2.原因分析 后来分析得知原来是由于编码不统一造成 的. 具体来说,我在window ...

  3. NOIP2017SummerTraining0706

    个人感受:这套题也依旧在划水,和wqh在一起,然后也没怎么好好想,第一题开始时打了个思维很好的方法,但是事完全错误的:然后就开始第二题,然后第二题枚举20分,然后看答案多了25分,就拿了 45分:第三 ...

  4. VisualStudio快捷键大全

    Ctrl+m+Crtr+o折叠所有大纲Ctrl+M+Crtr+P: 停止大纲显示Ctrl+K+Crtr+C: 注释选定内容Ctrl+K+Crtr+U: 取消选定注释内容Ctrl+J : 列出成员 智能 ...

  5. VLAN的三种类型及三种属性

  6. 实战之elasticsearch集群及filebeat server和logstash server

    author:JevonWei 版权声明:原创作品 实战之elasticsearch集群及filebeat server和logstash server 环境 elasticsearch集群节点环境为 ...

  7. js根据时间戳倒计时

    今天有个需求,要在页面上做当前时间距离下个月1号的倒计时.在网上找了很多案例也试了很多,大部分都是获取本地当前时间,然后设置结束时间进行计算,然后倒计时.但是有几个问题: 1.如果本地时间和服务器时间 ...

  8. Bootstrap文本排版基础--Bootsrap

    1.排版前的基础 (1)移动设备优先 <meta name="viewport" content="width=device-width, initial-scal ...

  9. OpenGL ES2.0贴图

    1.定义传入着色器的顶点数据及索引 //传入结构体 typedef struct { ]; ]; } Vertex; //顶点数据 const Vertex Vertices[] = { {{, -, ...

  10. SpringBoot01 InteliJ IDEA安装、Maven配置、创建SpringBoot项目、属性配置、多环境配置

    1 InteliJ IDEA 安装 下载地址:点击前往 注意:需要下载专业版本的,注册码在网上随便搜一个就行啦 2 MAVEN工具的安装 2.1 获取安装包 下载地址:点击前往 2.2 安装过程 到官 ...