Matplotlib基本图形之饼状图

  1. 饼状图特点:
  2.  
  3. 饼状图显示一个数据系列中各项大小与各项总和的比例
    饼状图的数据点显示为整个饼状图的百分比

示例代码

  1. import os
  2. import time
  3. import numpy as np
  4. import matplotlib.pyplot as plt
  5.  
  6. basedir = os.path.dirname(os.path.abspath(__file__))
  7. resultdir = os.path.join(basedir, 'result')
  8.  
  9. class Create_pie(object):
  10.  
  11. def __init__(self,data,labels,dst,name='',title='Title',aspect=1,autopct='%0.2f%%',explode=[],shadow=True):
  12. '''
  13.  
  14. :param data: 饼状图使用的数据,一般为列表
  15. :param labels: 饼状图各个label名称,一般为列表
  16. :param dst: 存放生成图片的文件夹路径
  17. :param name: 图片的名称,默认为当前时间戳
  18. :param title: 图片的标题,默认为Title
  19. :param aspect: 图片x轴与y轴的比例,默认为1
  20. :param autopct: 用来在饼状图上添加格式化字符串
  21. :param explode: 饼状图各个饼叶偏离中心的距离占半径的比例,默认为不偏离
  22. :param shadaw: 是否显示阴影,默认为显示
  23. '''
  24. self.data = data
  25. self.labels = labels
  26. self.dst = dst
  27. self.name = name if name else str(int(time.time()))
  28. self.title = title
  29. self.aspect = aspect
  30. self.autopct = autopct
  31. self.explode = explode if explode else [x*0 for x in range(len(data))]
  32. self.shadow = shadow
  33.  
  34. def drew(self):
  35. plt.axes(aspect=self.aspect)
  36. plt.pie(
  37. x = self.data,
  38. labels = self.labels,
  39. autopct = self.autopct,
  40. explode= self.explode,
  41. shadow = self.shadow
  42. )
  43. plt.title(self.title)
  44. picname = self.name+'.jpg'
  45. picdir = os.path.join(self.dst, picname)
  46. plt.savefig(picdir)

实例化对象,运行程序

  1. N = [39,46,55,73]
  2. labels = ['A','B','C','D']
  3. explode = [0,0.1,0,0]
  4. PIC = Create_pie(N,labels,resultdir,explode=explode)
  5. PIC.drew()

运行结果如下:

当shadow=False时,运行结果如下:

当不配置explode时,运行结果如下:

当不配置autopct时,运行结果如下:

 

Matplotlib基本图形之饼状图的更多相关文章

  1. 基于matplotlib的数据可视化 - 饼状图pie

    绘制饼状图的基本语法 创建数组 x 的饼图,每个楔形的面积由 x / sum(x) 决定: 若 sum(x) < 1,则 x 数组不会被标准化,x 值即为楔形区域面积占比.注意,该种情况会出现 ...

  2. 利用Tkinter和matplotlib两种方式画饼状图

    当我们学习python的时候,总会用到一些常用的模块,接下来我就详细讲解下利用两种不同的方式画饼状图.首先利用[Tkinter]中的canvas画布来画饼状图: from tkinter import ...

  3. 【Python】模块学习之matplotlib柱状图、饼状图、动态图及解决中文显示问题

    前言 众所周知,通过数据绘图,我们可以将枯燥的数字转换成容易被人们接受的图表,从而让人留下更加深刻的印象.而大多数编程语言都有自己的绘图工具,matplotlib就是基于Python的绘图工具包,使用 ...

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

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

  5. matplotlib学习日记(五)-各种饼状图的绘制

    (一)分裂式饼状图 import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np mpl.rcParams[& ...

  6. C#+JQuery+.Ashx+百度Echarts实现全国省市地图和饼状图动态数据图形报表的统计

    在目前的一个项目中,需要用到报表表现数据,这些数据有多个维度,需要同时表现出来,同时可能会有大量数据呈现的需求,经过几轮挑选,最终选择了百度的echarts作为报表基础类库.echarts功能强大,界 ...

  7. 绘制matplotlib 饼状图

    参考:https://blog.csdn.net/ScarlettYellow/article/details/80458797 (2)2016年就业人员在三次产业中分布的饼状图. def swap( ...

  8. Android开源图表之树状图和饼状图的官方示例的整理

    最近由于工作需要,所以就在github上搜了下关于chart的三方框架 官方地址https://github.com/PhilJay/MPAndroidChart 由于工作需要我这里整理了一份Ecli ...

  9. AngularJS in Action读书笔记5(实战篇)——在directive中引入D3饼状图显示

    前言: "宁肯像种子一样等待  也不愿像疲惫的陀螺  旋转得那样勉强" 这是前几天在查资料无意间看到的一位园友的签名,看完后又读了两遍,觉得很有味道.后来一寻根究底才知这是出资大诗 ...

随机推荐

  1. nopCommerce - asp.net开源商城

    nopcommerce官网 http://nopcommerce.codeplex.com/ nopCommerce is a open source e-commerce solution that ...

  2. HTML 5的革新——更简洁的结构

    今天我们阐述HTML 5的革新之一:更简洁的结构. 新的文档类型 DOCTYPE 先来解释一下文档类型 DOCTYPE:文档类型位于HTML源文件的第一行,在HTML4的标准中,DOCTYPE在被归在 ...

  3. [转]如何降低SQL Server 内存使用率

    我的数据库服务器内存为8G,现在资源管理器显示内存用到5G,可以肯定是sql server数据库吃内存原因. MSSQL占用了太多的内存,而且还不断的增长:或者说已经设置了使用内存,可是它没有用到那么 ...

  4. Sublime Text 3安装AngularJS插件

    Sublime Text 3是目前笔者用过的最好用的代码编辑器之一,界面如下图所示: 我们可以用该编辑器开发AngularJS应用,首先需要安装AngularJS提示插件. 需要以下几步: 1.安装P ...

  5. 【进度总结】第一个web应用程序(未完成)

    web程序快速导航 使用Eclipse for Java EE Web Development,并配置Tomcat,这部分内容在众多教程中都描述的十分详细.我直接从代码部分开始记录流程: 这张图是We ...

  6. SQL问题:未启用当前数据库的 SQL Server Service Broker

    数据库分离后,附加回到数据库,然后在程序中打开调用数据库的页面,出现如下问题:“未启用当前数据库的 SQL Server Service Broker,因此查询通知不受支持.如果希望使用通知,请为此数 ...

  7. 当ThreadLocal碰上线程池

    ThreadLocal使用 ThreadLocal可以让线程拥有本地变量,在web环境中,为了方便代码解耦,我们通常用它来保存上下文信息,然后用一个util类提供访问入口,从controller层到s ...

  8. MFC技术积累——基于MFC对话框类的那些事儿3

    3.3.2 创建图形画刷来实现位图加载 1.首先在Resource View中导入一幅位图,位图大小96×96像素: 2.其次在主对话框中添加一个静态文本资源,ID号是IDC_BITMAPAREA,添 ...

  9. make与makefile的几个例子和(自己写一下,汗!忘记了!)总结

    共用的几个源代码文件: main.c 2.c 3.c 代码依次为: #include<stdlib.h> #include "a.h" extern void func ...

  10. HDOJ4550 卡片游戏 随便销毁内存的代价就是wa//string类的一些用法

    思路 标记最小的最后的位置  放在第一位 标记位置之前按left值小的左方大的右方 标记位置之后按顺序放在最后 不多说先贴上销毁内存的wa代码 销毁内存的wa代码 #include<cstdio ...