绘制饼状图的基本语法

创建数组 x 的饼图,每个楔形的面积由 x / sum(x) 决定;

若 sum(x) < 1,则 x 数组不会被标准化,x 值即为楔形区域面积占比。注意,该种情况会出现 1 - sum(x) 的空楔形

若 sum(x) > 1,则由 x[ i ] / sum(x) 算出每一个楔形占比,饼图360°区域均被填充。

下图为sum(x) < 1 的情况,存在空楔形区域。

1 语法

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=(0, 0), frame=False, rotatelabels=False,
    hold=None, data=None
    )

x - 创建饼状图的数组

explode - array-like, optional, default: None;偏离每个楔形的半径的分数。若非None,则 数组长度 = len(x),

labels - list, optional, default: None;为每个楔形添加标签

color - array-like, optional, default: None;若无,则用currently active cycle中的颜色添加

autopct - None (default), string, or function, optional;用于数值标记楔形的数值 / 字符串 / 函数,其中标签置于楔形内部;若None,则不现实楔形块占比数值,可以是整数( ' %d%%' )、浮点数( ' %2.3f %%' )、字符串( ' %s %%' )、函数。

pctdistance - float, optional, default: 0.6 ;描述autopct 值在楔形块的位置;当pctdistance = 0,所有autopct值均位于楔形块的 ‘ 尖端 ’ 位置,当为1,则位于楔形块的弧线位置,当大于1时,则会成比例远离尖端位置,

当 pctdistance = 0时,一个饼状图特例。

shadow - bool, optional, default: False;为饼状图画阴影(True)

labeldistance : float, optional, default: 1.1;描述label标签的在楔形块上的位置,确切地说,与圆心无关,而相对于楔形块的 “尖端 ” 的位置关系

startangle : float, optional, default: None;若不是None,则饼图的起点为 x 轴并逆时针旋转 angle 度

radius : float, optional, default: None;饼图的半径,若为None时,则默认为1

counterclock : bool, optional, default: True;指定分数方向,逆时针 (True) 或顺时针

wedgeprops : dict, optional, default: None;描述楔形边界线宽度值,参数形式``wedgeprops = {'linewidth': 3}``楔形边界线宽度为3

textprops : dict, optional, default: None;传递给文本对象的字典参数

center :  list of float, optional, default: (0, 0);图标的中心为,默认(0,0),也可以是两个标量的序列(sequence  of 2 scalars)

frame : bool, optional, default: False;若True,则绘制轴框架

texts : list;标签列表,class:`matplotlib.text.Text` instances实例.

autotexts : list;基于数字标签(numeric labels)的class:`~matplotlib.text.Text`实例列表,仅当参数* autopct *不是* None *时才会返回。

2 示例

import matplotlib.pyplot as plt

values = [13.23, 9.29, 5.34, 4.48, 3.01,2.97]
spaces = [0.01, 0.01, 0.01, 0.08, 0.01,0.01]
labels = ['Java', 'C', 'C++', 'Python', 'C#','Js']
colors = ['b', 'orangered', 'g', 'violet','gold','#EED2EE']

plt.figure('Pie', facecolor='lightgray')
plt.title('Pie', fontsize=20)
plt.pie(values, spaces, labels, colors, '%d%%',shadow=True, startangle=90)
# 让两个轴等比例缩放
# 如无该代码段,则为椭圆形饼状图
plt.axis('equal')
plt.show()

各语言占比数据为2017年11月前6个

基于matplotlib的数据可视化 - 饼状图pie的更多相关文章

  1. 基于matplotlib的数据可视化 - 三维曲面图gca

    1 语法 ax = plt.gca(projection='3d')ax.plot_surface(x,y,z,rstride=行步距,cstride=列步距,cmap=颜色映射) gca(**kwa ...

  2. Matplotlib基本图形之饼状图

    Matplotlib基本图形之饼状图 饼状图特点: 饼状图显示一个数据系列中各项大小与各项总和的比例饼状图的数据点显示为整个饼状图的百分比 示例代码 import os import time imp ...

  3. 基于matplotlib的数据可视化 - 笔记

    1 基本绘图 在plot()函数中只有x,y两个量时. import numpy as np import matplotlib.pyplot as plt # 生成曲线上各个点的x,y坐标,然后用一 ...

  4. 基于matplotlib的数据可视化 - 热图imshow

    热图: Display an image on the axes. 可以用来比较两个矩阵的相似程度 mp.imshow(z, cmap=颜色映射,origin=垂直轴向) imshow( X, cma ...

  5. 基于matplotlib的数据可视化 -

    matplotlib.pyplot(as mp or as plt)提供基于python语言的绘图函数 引用方式: import matplotlib.pyplot as mp / as plt 本章 ...

  6. 基于matplotlib的数据可视化 - 等高线 contour 与 contourf

    contour 与contourf 是绘制等高线的利器. contour  - 绘制等高线 contourf - 填充等高线 两个的返回值值是一样的(return values are the sam ...

  7. 基于matplotlib的数据可视化(图形填充fill fill_between) - 笔记(二)

    区域填充函数有 fill(*args, **kwargs) 和fill_between() 1  绘制填充多边形fill() 1.1 语法结构 fill(*args, **kwargs) args - ...

  8. 基于matplotlib的数据可视化 - 柱状图bar

    柱状图bar 柱状图常用表现形式为: plt.bar(水平坐标数组,高度数组,宽度比例,ec=勾边色,c=填充色,label=图例标签) 注:当高度值为负数时,柱形向下 1 语法 bar(*args, ...

  9. jquery echarts 饼状图

    var myChart = echarts.init(document.getElementById('myChart')); option = { title : { text: '某站点用户访问来 ...

随机推荐

  1. 转载:Unicode和Utf-8有何区别 转载自知乎 原文作者不详

    作者:于洋链接:https://www.zhihu.com/question/23374078/answer/69732605来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出 ...

  2. CSS综合(问题)

    1.为什么我外层div设置height:auto有效果,而位于这个div里面的一个div设置height:auto就没效果啦?      将三个DIV的高度都设置为自动,overflow:auto;, ...

  3. Core Java-多线程-线程的生命周期

    0. 在介绍线程前我们先看一下什么是进程? 进程是线程的母亲,如果在大学计算机课程里读过操作系统一定不会陌生. 所谓进程,它是计算机程序关于某数据集上的一次活动,是系统进行资源分配和调度的基本单位,是 ...

  4. 微信小程序 - 超出文字省略组件

    使用说明 sty:定义样式 text:文字 clamp: 0:代表不限制 1:超过1行省略号(默认) n:超过n行省略     点击下载:ellipsis    

  5. Nginx IP 白名单设置

    1:ip.config 192.168.3.15 1;192.168.3.10 1;192.168.0.8 1; 2:nginx.conf #geoIP的白名单 geo $remote_addr $i ...

  6. SQL Server排序规则不一致 - Collate Database_Default

    http://www.cnblogs.com/chencidi/archive/2014/07/02/3820386.html 使用多库查询时会出现排序规则冲突的问题 解决办法 在字段后面添加Coll ...

  7. 自己定义RatingBar,能依据设置改变样式

    项目在我的GITHUB上  mirsfang的GitHub 一个简单的自己定义View  ,为了一个 比較奇葩的需求而搞出来的.他的功能就是能让你自己设置图片和图片的大小以及星星的数量,是一个组合型的 ...

  8. oracle下的数据库实例、表空间、用户及其表的区分

    完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等): 2) Oracle数据库实例则是一组Ora ...

  9. MySQL事物系列:3:innodb_flush_log_at_trx_commit小实验

    1:创建表和存储过程 mysql> create database trx; Query OK, 1 row affected (0.02 sec) mysql> USE trx Data ...

  10. 〖Linux〗Ubuntu14.04安装32位运行库

    在终端操作: sudo dpkg --add-architecture i386 echo "deb http://old-releases.ubuntu.com/ubuntu/ rarin ...