Matplotlib基本图形之饼状图

饼状图特点:

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

示例代码

import os
import time
import numpy as np
import matplotlib.pyplot as plt basedir = os.path.dirname(os.path.abspath(__file__))
resultdir = os.path.join(basedir, 'result') class Create_pie(object): def __init__(self,data,labels,dst,name='',title='Title',aspect=1,autopct='%0.2f%%',explode=[],shadow=True):
''' :param data: 饼状图使用的数据,一般为列表
:param labels: 饼状图各个label名称,一般为列表
:param dst: 存放生成图片的文件夹路径
:param name: 图片的名称,默认为当前时间戳
:param title: 图片的标题,默认为Title
:param aspect: 图片x轴与y轴的比例,默认为1
:param autopct: 用来在饼状图上添加格式化字符串
:param explode: 饼状图各个饼叶偏离中心的距离占半径的比例,默认为不偏离
:param shadaw: 是否显示阴影,默认为显示
'''
self.data = data
self.labels = labels
self.dst = dst
self.name = name if name else str(int(time.time()))
self.title = title
self.aspect = aspect
self.autopct = autopct
self.explode = explode if explode else [x*0 for x in range(len(data))]
self.shadow = shadow def drew(self):
plt.axes(aspect=self.aspect)
plt.pie(
x = self.data,
labels = self.labels,
autopct = self.autopct,
explode= self.explode,
shadow = self.shadow
)
plt.title(self.title)
picname = self.name+'.jpg'
picdir = os.path.join(self.dst, picname)
plt.savefig(picdir)

实例化对象,运行程序

N = [39,46,55,73]
labels = ['A','B','C','D']
explode = [0,0.1,0,0]
PIC = Create_pie(N,labels,resultdir,explode=explode)
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. linux 的iptables失效解决方法

    1.首先查看iptables配置文件:cat  /etc/sysconfig/iptables 2.然后查看 iptables 配置文件是否生效:iptables  -L,结果如下,很显然和上面的配置 ...

  2. 按位&按位|按位~的详解

    十进制转二进制: 例:十进制(5)---->二进制(00000101) 将整数除二取余,继续用除二的结果除二取余,最后将结果从下往上连接起来,不足八位,前面填0 二进制转十进制 例:二进制(00 ...

  3. DataGridView使用技巧(七、设定列宽和行高自动调整)----.NET

    DataGridView使用技巧(七.设定列宽和行高自动调整)----.NET 1) 设定行高和列宽自动调整 [VB.NET]' 设定包括Header和所有单元格的列宽自动调整DataGridView ...

  4. shell中的-z

    -z 字符串为"null",即是指字符串长度为零.

  5. Windows系统下如何优化Android Studio

    Android Studio将是Android开发大势所趋. 安装Android Studio时需注意的细节: · 找到安装目录bin目录下idea.properties 最后一行加入:    dis ...

  6. phantomas参数选项

    PhantomJS-based web performance metrics collector phantomas <url> [options] General options: - ...

  7. 批处理文件 bat

    删除D盘的所有文件:del /a /f /q d:\*.* 删除指定目录的指定扩展名的文件:del /a /f /q 目录:\*.jpg 删除当前目录下的指定扩展名的文件(指定扩展名为jpg):del ...

  8. spark简单入门

    本文由cmd markdown编辑,原始链接:https://www.zybuluo.com/jewes/note/35032 RDD是什么? RDD是Spark中的抽象数据结构类型,任何数据在Spa ...

  9. IOS修改系统音量

    #import <IOKit/IOKitLib.h> #import <IOKit/hidsystem/IOHIDLib.h> #import <IOKit/hidsys ...

  10. 人脸识别中的检测(在Opencv中加入了QT)

    #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include & ...