绘制饼状图的基本语法

创建数组 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. C#远程执行Linux系统中Shell命令和SFTP上传文件

    一.工具:SSH.Net 网址:https://github.com/sshnet/SSH.NET 二.调用命令代码: Renci.SshNet.SshClient ssh = "); ss ...

  2. vs2015使用Apache Cordova用JavaScript来访问本地设备的功能,比如摄像头、加速计

    看到下面这张图就代表着我VS2015 跨平台Moblie开发工具安装成功了. 上周安装成功后本想一睹跨平台开发的乐趣,可是一直找不到合适的入口.这周又来捯饬一下结果发现了一个入口.于是来写一个Hell ...

  3. linux cp 命令详解

    /home/lee#cp --help 用法:cp [选项]... 来源 目的地 或:cp [选项]... 来源... 目录 或:cp [选项]... --target-directory=目录 来源 ...

  4. JDK5.0 特性-线程锁Lock

    来自:http://www.cnblogs.com/taven/archive/2011/12/17/2291470.html import java.util.concurrent.Executor ...

  5. 算法笔记_221:串的简单处理(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 串的处理在实际的开发工作中,对字符串的处理是最常见的编程任务.本题目即是要求程序对用户输入的串进行处理.具体规则如下:1. 把每个单词的首字母变为大 ...

  6. auto_ptr,unique_ptr,shared_ptr,weak_ptr

    http://mojijs.com/2016/08/218129/index.html http://www.cnblogs.com/lanxuezaipiao/p/4132096.html

  7. Eclipe快捷键

    常用的快捷键其实不多,但是用的少了又忘记了,所以讲常用的快捷键整理一下,方便以后自己来看. Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Q 定位到最后 ...

  8. X-Forwarded-For 会少记录一次代理服务器的IP

    X-Forwarded-For是一个Http请求头中的项目. 当一个请求经过代理时,X-Forwarded-For将被记录下来,规则如下: 假设用户U,通过代理服务器A,请求到服务器S, 那么X-Fo ...

  9. 开启spring boot actuator 安全认证

    通过本文配置,会对actuator 除了health外的所有端点,开启用户名密码验证,对于自己开发的接口不会要求用户名密码验证. 版本: <parent> <groupId>o ...

  10. 代理服务 SQUID 测试

    第一部分:SQUID基础 Squid代理服务的基本配置: http_port 3128                    #设置监听的IP与端口号 cache_mem 64 MB          ...