zoukankan      html  css  js  c++  java
  • Matplotlib基本图形之饼状图

    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时,运行结果如下:

     

  • 相关阅读:
    win7 php 配置多个网站
    win7 ShuipFCMS 配置 及问题
    【转】CentOS 6 服务器安全配置指南
    好的博客 网址
    【转】管理员必备的Linux系统监控工具
    【转】centos安装memcached+php多服务器共享+session多机共享问题
    [转]CentO下限制SSH登录次数
    使用Atlas实现MySQL读写分离+MySQL-(Master-Slave)配置
    centos 内网ip访问mysql数据库
    [转]Centos6.5安装配置keepalived
  • 原文地址:https://www.cnblogs.com/Keys819/p/9307516.html
Copyright © 2011-2022 走看看