Python利用matplotlib实现饼图绘制

目录
  • 前言
  • 1. 等高线图概述
    • 什么是饼图?
    • 饼图常用场景
    • 绘制等饼图步骤
    • 案例展示
  • 2. 饼图属性
    • 设置饼图的颜色
    • 设置标签
    • 设置突出部分
    • 设置填入百分比数值
    • 饼图旋转
    • 设置阴影
  • 3. 调整饼图的大小
  • 4. 添加图例
  • 5. 镂空饼图
  • 总结

前言

众所周知,matplotlib.pyplot 提供绘制不同表格绘制方法,如使用plot()方法绘制折线,bar()绘制柱

在matplotlib.pyplot 中还有一种图表用于直观表示占比情况的饼图,在matplotlib官网上也列举出非常多关于饼图的案例。

本期,我们将详细学习matplotlib 绘制饼图相关属性的学习,let's go~

1. 等高线图概述

什么是饼图?

  • 饼图将各项的大小与总项和的比例显示在一个圆里
  • 饼图展示通过不同大小,来确定各项的占比
  • 饼图相同颜色的数据标记组成一个数据系列
  • 饼图可分为三维饼图、复合饼图、分离饼图

饼图常用场景

  • 饼图可用在需要暂时各个部分构成比
  • 饼图可反映一个维度各项指标占总体的占比情况
  • 饼图适用在只看大体占比,不要数据精度的情况

绘制等饼图步骤

  1. 导入matplotlib.pyplot模块
  2. 准备数据,可以使用numpy/pandas整理数据
  3. 调用pyplot.pie()绘制饼图
  4. 调用axis方法调整x/y轴间距相等

案例展示

本期,我们将适用饼图来分析操作系统市场占比情况

案例数据准备:使用random.randint产生5个数值

import numpy as np
size = np.random.randint(0,100,5)

绘制饼图

import matplotlib.pyplot as plt\

plt.pie(size,labels=["Windows","MAC","Linux","Android","Other"])

plt.title("手机系统占比分析")

plt.show()

2. 饼图属性

设置饼图的颜色

关键字:colors

可取值选项:None或者颜色列表

颜色列表可以由如下组成:

  • 表示颜色的英文单词:如红色"red"
  • 表示颜色单词的简称如:红色"r",黄色"y"
  • RGB格式:十六进制格式如"#88c999";(r,g,b)元组形式

设置标签

关键字:labels

默认为:None

需要传入列表形式的值

设置突出部分

关键字:explode

默认为:None

需要传入列表数据

如果设置值后,其指定的部分会突出显示

设置填入百分比数值

关键字:autopct

默认为:None

可选择值形式:

  • 格式字符串如:'%1.1f%%'
  • 函数:可以调用函数内容

饼图旋转

从x轴逆时针旋转角度:startangle;默认为0,浮点类型

指定分数方向顺逆时针:counterclock;默认为True,bool类型

设置阴影

关键字:shadow

默认为False

在饼图下绘制出阴影

我们结合第一节的案例添加一些属性,需要显示占比数值,颜色显示指定颜色,突出MAC占比

plt.pie(size,labels=["Windows","MAC","Linux","Android","Other"],
autopct="%1.1f%%",
explode=[0,0.1,0,0,0],
colors=("r","blue","#88c999",(1,1,0),"0.5"))

3. 调整饼图的大小

我们在实际制作饼图时,会遇到改变饼图的大小,这是我们可以借助饼图属性关键字radius

radius:设置饼图半径大小

除此之外,我们还要使用textprops来控制显示的标签的大小

plt.pie(size,labels=["Windows","MAC","Linux","Android","Other"],autopct="%1.1f%%",
explode=[0,0.1,0,0,0],
colors=("r","blue","#88c999",(1,1,0),"0.5"),radius=0.5,textprops={'size':"smaller"})

4. 添加图例

我们在饼图中显示各项占比情况时,会在图表的旁边添加一组图例说明。

  • pyplot.pie()方法会返回patchee.Wedge列表、文本列表等数据
  • pyplot.legend()方法传入wedge元素和指定的labels标签
  • 同时可以同legend()方法bbox_to_anchor来设置图例的位置
La = ["Windows","MAC","Linux","Android","Other"]

def f(pct,n):
    num = int(round(pct*np.sum(n)))
    return "{:.1f}%\n{:d}w".format(pct,num)

wedges ,text,autotexts =plt.pie(size,autopct=lambda pct: f(pct,size),
        colors=("r","blue","#88c999",(1,1,0),"0.5"),textprops=dict(color='w'))

plt.legend(wedges,La,loc="right",bbox_to_anchor=(1,0,0.3,1))

5. 镂空饼图

在饼图中,我们有时候也用到嵌套镂空的饼图。

  • 嵌套可以多次调用pyplot.pie()方法
  • 镂空可以借助pyplot.pie()属性wedgeprops来进行设置
  • wedgeprops={"width":0.3,"edgecolor":'w'}
cmap = plt.get_cmap("tab20c")
plt.pie(size,
         colors=("r","blue","#88c999",(1,1,0),"0.5"),textprops=dict(color='w'),wedgeprops=dict(width=0.3,edgecolor='w'))
plt.pie(size,
         colors= cmap(np.arange(3)*5),radius=0.7,wedgeprops=dict(width=0.3,edgecolor='w'),textprops={'size':"smaller"})

总结

本期,对matplotlib.pyplot 绘制饼图pie()相关属性的学习。在绘制饼图时,我们会根据实际需求改变饼图的大小,嵌套饼图、添加柱状图等图形辅助查看

以上是本期内容,欢迎大佬们点赞评论,下期见~ 

以上就是Python利用matplotlib实现饼图绘制的详细内容,更多关于Python matplotlib 绘制饼图的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python通过matplotlib画双层饼图及环形图简单示例

    (1) 饼图(pie),即在一个圆圈内分成几块,显示不同数据系列的占比大小,这也是我们在日常数据的图形展示中最常用的图形之一. 在python中常用matplotlib的pie来绘制,基本命令如下所示(python3.X版本): vals = [1, 2, 3, 4]#创建数据系列 fig, ax = plt.subplots()#创建子图 labels = 'A', 'B', 'C', 'D' colors = ['yellowgreen', 'gold', 'lightskyblue', '

  • python通过matplotlib生成复合饼图

    可以通过matplotlib实现 from matplotlib.patches import ConnectionPatch #制画布fig = plt.figure(figsize=(9,5.0625)) ax1 = fig.add_subplot(121) ax2 = fig.add_subplot(122) fig.subplots_adjust(wspace=0) #大饼图的制作 labels = newdata8.index size = newdata8.quantity expl

  • python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】

    本文实例讲述了python matplotlib模块基本图形绘制方法.分享给大家供大家参考,具体如下: matplotlib模块是python中一个强大的绘图模块 安装 pip  install matplotlib 首先我们来画一个简单的图来感受它的神奇 import numpy as np import matplotlib.pyplot as plt import matplotlib zhfont1=matplotlib.font_manager.FontProperties(fname

  • python+matplotlib绘制饼图散点图实例代码

    本文是从matplotlib官网上摘录下来的一个实例,实现的功能是Python+matplotlib绘制自定义饼图作为散点图的标记,具体如下. 首先看下演示效果 实例代码: import numpy as np import matplotlib.pyplot as plt # first define the ratios r1 = 0.2 # 20% r2 = r1 + 0.4 # 40% # define some sizes of the scatter marker sizes = n

  • python利用matplotlib库绘制饼图的方法示例

    介绍 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并且 Gallery页面 中有上百幅缩略图,打开之后都有源程序.因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定. matplotlib的安装方法可以点击这里 这篇文章给大家主要介绍了python用matplotlib绘制饼图的方法,话不多说,下面来看代码

  • python使用Matplotlib画饼图

    本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 函数参数 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, cente

  • Python利用matplotlib实现饼图绘制

    目录 前言 1. 等高线图概述 什么是饼图? 饼图常用场景 绘制等饼图步骤 案例展示 2. 饼图属性 设置饼图的颜色 设置标签 设置突出部分 设置填入百分比数值 饼图旋转 设置阴影 3. 调整饼图的大小 4. 添加图例 5. 镂空饼图 总结 前言 众所周知,matplotlib.pyplot 提供绘制不同表格绘制方法,如使用plot()方法绘制折线,bar()绘制柱 在matplotlib.pyplot 中还有一种图表用于直观表示占比情况的饼图,在matplotlib官网上也列举出非常多关于饼图

  • Python利用Matplotlib库实现绘制饼形图

    目录 1.plt.pie() 2. 饼图基本 3. 饼状图进阶 4. 环形图 5. 内嵌环形图 1.plt.pie() 饼图 常常用来显示 整体中各部分所占的比例,在python-matplotlib库中通过plt.pie()方法来实现. 其主要参数如下: x --------每一块饼图的比例组成的序列.可以是一个列表.如果其中元素的值加起来大于一,则会通过归一化处理后的结果. explode -------- 指每一块饼距离圆心的距离.默认为0.如果大于0,则饼即会分裂出来,即“分裂饼形图”效

  • Python利用Matplotlib绘制图表详解

    目录 前言 折线图绘制与显示 绘制数学函数图像 散点图绘制 绘制柱状图 绘制直方图 饼图 前言 Matplotlib 是 Python 中类似 MATLAB 的绘图工具,如果您熟悉 MATLAB,那么可以很快的熟悉它. Matplotlib 提供了一套面向对象绘图的 API,它可以轻松地配合 Python GUI 工具包(比如 PyQt,WxPython.Tkinter)在应用程序中嵌入图形.与此同时,它也支持以脚本的形式在 Python.IPython Shell.Jupyter Notebo

  • Python利用matplotlib绘制圆环图(环形图)的实战案例

    目录 一.概念介绍 二.数据展示 三.图像绘制 四.参数解释 (1) wedgeprops是我们绘图时的参数字典. (2) startangle是第一个数据起画点. (3) plt.text (4) 可以绘制如示例图一样的colorbar,或者legend吗? 总结 一.概念介绍 圆环图(Donut Chart),又称为环形图,甜甜圈图.它从饼图变形而来,单环的作用上与饼图相似,用于展示定性数据中小类占大类的比例关系. Q: 那既然都有饼图了,为什么还要圆环图呢? ① 从空间利用效果上,饼图的t

  • Python利用matplotlib绘制约数个数统计图示例

    本文实例讲述了Python利用matplotlib绘制约数个数统计图.分享给大家供大家参考,具体如下: 利用Python计算1000以内自然数的约数个数,然后通过matplotlib绘制统计图. 下图为约数个数的散点图及其分布情况的条形图. Python代码: import collections import matplotlib.pyplot as plt def countDivisors(num): ans = 1 x = 2 while x * x <= num: cnt = 1 wh

  • Python利用matplotlib绘制折线图的新手教程

    前言 matplotlib是Python中的一个第三方库.主要用于开发2D图表,以渐进式.交互式的方式实现数据可视化,可以更直观的呈现数据,使数据更具说服力. 一.安装matplotlib pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple 二.matplotlib图像简介 matplotlib的图像分为三层,容器层.辅助显示层和图像层. 1. 容器层主要由Canvas.Figure.Axes组成. Canvas位

  • Python利用matplotlib绘制散点图的新手教程

    前言 上篇文章介绍了使用matplotlib绘制折线图,参考:https://www.jb51.net/article/198991.htm,本篇文章继续介绍使用matplotlib绘制散点图. 一.matplotlib绘制散点图 # coding=utf-8 import matplotlib.pyplot as plt years = [2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019] turnovers =

  • Python利用 matplotlib 绘制直方图

    目录 1. 直方图概述 1.1什么是直方图? 1.2直方图使用场景 1.3直方图绘制步骤 1.4案例展示 2. 直方图属性 2.1设置颜色 2.2设置长条形数目 2.3设置透明度 2.4设置样式 3. 添加折线直方图 4. 堆叠直方图 5. 不等距直方图 6. 多类直方图 复习回顾: 经过前面对 matplotlib 模块从底层架构.基本绘制步骤等学习,我们已经学习了折线图.柱状图的绘制方法. matplotlib 模块基础:对matplotlib 模块常用方法进行学习 matplotlib 模

  • Python利用matplotlib模块数据可视化绘制3D图

    目录 前言 1 matplotlib绘制3D图形 2 绘制3D画面图 2.1 源码 2.2 效果图 3 绘制散点图 3.1 源码 3.2 效果图 4 绘制多边形 4.1 源码 4.2 效果图 5 三个方向有等高线的3D图 5.1 源码 5.2 效果图 6 三维柱状图 6.1 源码 6.2 效果图 7 补充图 7.1 源码 7.2 效果图 总结 前言 matplotlib实际上是一套面向对象的绘图库,它所绘制的图表中的每个绘图元素,例如线条Line2D.文字Text.刻度等在内存中都有一个对象与之

  • Python利用matplotlib画出漂亮的分析图表

    目录 前言 数据集引入 折线图 饼图 散点图 面积图 直方图 条形图 前言 作为一名优秀的分析师,还是得学会一些让图表漂亮的技巧,这样子拿出去才更加有面子哈哈.好了,今天的锦囊就是介绍一下各种常见的图表,可以怎么来画吧. 数据集引入 首先引入数据集,我们还用一样的数据集吧,分别是 Salary_Ranges_by_Job_Classification以及 GlobalLandTemperaturesByCity.(具体数据集可以后台回复 plot获取) # 导入一些常用包 import pand

随机推荐