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

 

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

时间: 2024-10-09 06:40:08

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

在Unity中使用uGUI绘制自定义图形(饼状图 雷达图)

饼状图或者是雷达图是根据属性自动生成的自定义图形.这里展示了如何使用uGUI完成这一功能. 先附上我制作雷达图的控件的代码  UIPropWidget.cs using UnityEngine; using System.Collections.Generic; using UnityEngine.UI; /* * * 2 6 * * 3 7 * * 0 1 5 4 * * * 2 6位为属性0 3为属性1 0为属性2 4为属性3 7为属性4 */ public class UIPropWidg

Quartz2d 画饼状图 图形上下文栈 矩阵操作 裁剪圆角图片

画饼状图 - (void)drawRect:(CGRect)rect { // Drawing code // 需求:根据sections的数据,绘制多个扇形 // 1.获取上下文(Layer Graphics Context) CGContextRef ctx = UIGraphicsGetCurrentContext(); // 2.根据sections的个数,计算扇形的起始和结束位置来画扇形 NSInteger count = self.sections.count; // 如果没有数据,

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

(一)分裂式饼状图 import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np mpl.rcParams["font.sans-serif"] = ["SimHei"] mpl.rcParams["axes.unicode_minus"] = False labels = ["A难度水平", "B难度水平", &qu

python的matplotlib饼状图

在python的matplotlib画图函数中,饼状图的函数为pie pie函数参数解读 plt.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, counterclock=True, wedgeprops=None, textprops=None, center=(

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

在目前的一个项目中,需要用到报表表现数据,这些数据有多个维度,需要同时表现出来,同时可能会有大量数据呈现的需求,经过几轮挑选,最终选择了百度的echarts作为报表基础类库.echarts功能强大,界面优美.由于客户是淘宝卖家,因此想要实现每个月全国各个省份各自购力如何,大家可以统计其他的,如果GDP 人口 等等. 百度echarts简介请参考 http://echarts.coding.io/doc/example.html 效果图如下:全部是动态数据 JS代码: <!-- Charts La

绘制matplotlib 饼状图

参考:https://blog.csdn.net/ScarlettYellow/article/details/80458797 (2)2016年就业人员在三次产业中分布的饼状图. def swap(list): date = [] name = [] for i in range(0,len(list)): date.append(list[i][1]) name.append(list[i][0]) return date, name def fun2(): # 构造数据 industry3

python 饼状图

https://www.cnblogs.com/liming19680104/p/10614132.htmlimport pandas as pdimport numpy as npimport matplotlib.pyplot as plt #解决能显示中文plt.rcParams['font.sans-serif']=['SimHei'] #指定默认字体 SimHei为黑体plt.rcParams['axes.unicode_minus']=False #用来正常显示负号 plt.titl

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

前言: "宁肯像种子一样等待  也不愿像疲惫的陀螺  旋转得那样勉强" 这是前几天在查资料无意间看到的一位园友的签名,看完后又读了两遍,觉得很有味道.后来一寻根究底才知这是出资大诗人汪国真之口,出处<她>.且抛开上下文,单从这短短几句,正恰如其分的折射出有一群人,他们穿着不那么fashion,言辞不那么犀利,但是内心某一块地方像是躁动的火山,拥有无尽的动力和激情,矢志不渝种子般投身到技术研究和心得分享当中. 或许每一次的生长都是那么悄无声息,但是无数次的坚持只是为了破土那日

JavaScript+svg绘制的一个饼状图

svg参考:https://www.w3.org/TR/SVG/ <body onload='document.body.appendChild( pieChart([12,23,34,45],640,400,200,200,150, ["red","blue","yellow","green"], ["North","South","East","W