码迷,mamicode.com
首页 > 其他好文 > 详细

Matplotlib基本图形之饼状图

时间:2018-07-13 22:20:12      阅读:297      评论:0      收藏:0      [点我收藏+]

标签:.sh   otl   添加   mat   lod   时间戳   特点   格式化   dirname   

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基本图形之饼状图

标签:.sh   otl   添加   mat   lod   时间戳   特点   格式化   dirname   

原文地址:https://www.cnblogs.com/Keys819/p/9307516.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!