【数据分析之道-Matplotlib(六)】Matplotlib饼图

news2024/11/27 16:49:20

在这里插入图片描述

文章目录

  • 专栏导读
  • 1、Matplotlib饼图pie()语法格式
  • 2、设置饼图各个扇形的标签与颜色
  • 3、突出显示第二个扇形,并格式化输出百分比
  • 4、shadows通过将参数设置为:向饼图添加阴影 True
  • 5、使用legend()函数为每个楔形添加解释列表
  • 6、将title参数添加到legend 函数中

专栏导读

✍ 作者简介:i阿极,CSDN Python领域新星创作者,专注于分享python领域知识。

本文录入于《数据分析之道》,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。
订阅后,可以阅读《数据分析之道》中全部文章内容,包含python基础语法、数据结构和文件操作,科学计算,实现文件内容操作,实现数据可视化等等。
✍ 其他专栏:《数据分析案例》 ,《机器学习案例》

😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!👍👍👍

📜📜📜如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!💪

1、Matplotlib饼图pie()语法格式

pie() 方法语法格式如下:

matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, 
pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=0, radius=1,
 counterclock=True, wedgeprops=None, textprops=None, center=0, 0, frame=False, 
 rotatelabels=False, *, normalize=None, data=None)[source]

参数说明:

  • x:浮点型数组或列表,用于绘制饼图的数据,表示每个扇形的面积。

  • explode:数组,表示各个扇形之间的间隔,默认值为0。

  • labels:列表,各个扇形的标签,默认值为 None。

  • colors:数组,表示各个扇形的颜色,默认值为 None。

  • autopct:设置饼图内各个扇形百分比显示格式,%d%% 整数百分比,%0.1f 一位小数, %0.1f%% 一位小数百分比, %0.2f%% 两位小数百分比。

  • labeldistance:标签标记的绘制位置,相对于半径的比例,默认值为 1.1,如 <1则绘制在饼图内侧。

  • pctdistance::类似于 labeldistance,指定 autopct 的位置刻度,默认值为 0.6。

  • shadow::布尔值 True 或 False,设置饼图的阴影,默认为 False,不设置阴影。

  • radius::设置饼图的半径,默认为 1。

  • startangle::用于指定饼图的起始角度,默认为从 x 轴正方向逆时针画起,如设定 =90 则从 y 轴正方向画起。

  • counterclock:布尔值,用于指定是否逆时针绘制扇形,默认为 True,即逆时针绘制,False 为顺时针。

  • wedgeprops :字典类型,默认值 None。用于指定扇形的属性,比如边框线颜色、边框线宽度等。例如:wedgeprops={‘linewidth’:5} 设置 wedge 线宽为5。

  • textprops :字典类型,用于指定文本标签的属性,比如字体大小、字体颜色等,默认值为 None。

  • center :浮点类型的列表,用于指定饼图的中心位置,默认值:(0,0)。

  • frame :布尔类型,用于指定是否绘制饼图的边框,默认值:False。如果是 True,绘制带有表的轴框架。

  • rotatelabels :布尔类型,用于指定是否旋转文本标签,默认为 False。如果为 True,旋转每个 label 到指定的角度。

  • data:用于指定数据。如果设置了 data 参数,则可以直接使用数据框中的列作为 x、labels 等参数的值,无需再次传递。

以下实例我们简单实用 pie() 来创建一个饼图:

import matplotlib.pyplot as plt
import numpy as np

y = np.array([35, 25, 25, 15])

plt.pie(y)
plt.show()

在这里插入图片描述

2、设置饼图各个扇形的标签与颜色

在Matplotlib中,你可以使用labels参数设置饼图各个扇形的标签,并使用colors参数设置饼图各个扇形的颜色。

下面是一个示例代码,展示了如何设置饼图的标签和颜色:

import matplotlib.pyplot as plt

# 数据
sizes = [30, 25, 15, 10, 20]
labels = ['A', 'B', 'C', 'D', 'E']
colors = ['red', 'blue', 'green', 'yellow', 'orange']

# 创建饼图
plt.pie(sizes, labels=labels, colors=colors)

# 设置标题
plt.title('Pie Chart')

# 显示图表
plt.show()

在这里插入图片描述

在这个例子中,我们使用labels参数将标签列表传递给plt.pie()函数,用于设置饼图各个扇形的标签。我们还使用colors参数将颜色列表传递给plt.pie()函数,用于设置饼图各个扇形的颜色。

3、突出显示第二个扇形,并格式化输出百分比

要突出显示饼图中的特定扇形,你可以使用explode参数来设置扇形与饼图中心的偏移量。通过将explode参数设置为一个包含与数据列表元素对应的偏移量的列表,可以将特定扇形从饼图中分离出来。

另外,为了格式化输出百分比,你可以使用autopct参数来设置标签的显示格式。使用’%1.1f%%'作为autopct参数的值,可以将百分比格式化为带有一位小数的百分比字符串。

下面是修改后的示例代码,突出显示第二个扇形并格式化输出百分比:

import matplotlib.pyplot as plt

# 数据
sizes = [30, 25, 15, 10, 20]
labels = ['A', 'B', 'C', 'D', 'E']
colors = ['red', 'blue', 'green', 'yellow', 'orange']
explode = [0, 0.1, 0, 0, 0]  # 突出显示第二个扇形

# 创建饼图
plt.pie(sizes, labels=labels, colors=colors, explode=explode, autopct='%1.1f%%')

# 设置标题
plt.title('Pie Chart')

# 显示图表
plt.show()

在这里插入图片描述

在这个例子中,我们通过将explode参数设置为[0, 0.1, 0, 0, 0],来突出显示第二个扇形。偏移量0.1表示第二个扇形与饼图中心的偏移。
另外,我们使用autopct='%1.1f%%'来设置百分比的显示格式,保留一位小数并添加百分号符号。
运行代码后,你将看到饼图中第二个扇形突出显示,并且扇形上方的标签显示了格式化的百分比。

4、shadows通过将参数设置为:向饼图添加阴影 True

要在饼图中添加阴影效果,你可以使用shadow参数将其设置为True。这将在饼图下方产生一层阴影效果,给图表增加一些立体感。

下面是修改后的示例代码,添加阴影效果到饼图中:

import matplotlib.pyplot as plt

# 数据
sizes = [30, 25, 15, 10, 20]
labels = ['A', 'B', 'C', 'D', 'E']
colors = ['red', 'blue', 'green', 'yellow', 'orange']
explode = [0, 0.1, 0, 0, 0]  # 突出显示第二个扇形

# 创建饼图,并添加阴影
plt.pie(sizes, labels=labels, colors=colors, explode=explode, autopct='%1.1f%%', shadow=True)

# 设置标题
plt.title('Pie Chart')

# 显示图表
plt.show()

在这里插入图片描述

5、使用legend()函数为每个楔形添加解释列表

为饼图中的每个楔形添加解释列表,可以使用Matplotlib中的legend()函数。legend()函数用于创建图例,用于说明图表中不同元素的含义。

下面是一个示例代码,展示了如何为饼图添加解释列表:

import matplotlib.pyplot as plt

# 数据
sizes = [30, 25, 15, 10, 20]
labels = ['A', 'B', 'C', 'D', 'E']
colors = ['red', 'blue', 'green', 'yellow', 'orange']

# 创建饼图
plt.pie(sizes, labels=labels, colors=colors)

# 添加解释列表
plt.legend()

# 设置标题
plt.title('Pie Chart')

# 显示图表
plt.show()

在这里插入图片描述

6、将title参数添加到legend 函数中

若要将标题添加到图例中,可以使用Matplotlib中的title参数来指定标题内容,并将其添加到legend()函数中。

下面是一个示例代码,演示如何将标题添加到图例中:

import matplotlib.pyplot as plt

# 数据
sizes = [30, 25, 15, 10, 20]
labels = ['A', 'B', 'C', 'D', 'E']
colors = ['red', 'blue', 'green', 'yellow', 'orange']

# 创建饼图
plt.pie(sizes, labels=labels, colors=colors)

# 添加解释列表并设置标题
plt.legend(title='Legend Title')

# 设置图表标题
plt.title('Pie Chart')

# 显示图表
plt.show()

在这里插入图片描述

在这个例子中,我们在legend()函数中使用title参数来指定图例的标题内容,将其设置为’Legend Title’。同时,我们也使用plt.title()函数设置了整个图表的标题为’Pie Chart’。


📢文章下方有交流学习区!一起学习进步!💪💪💪
📢首发CSDN博客,创作不易,如果觉得文章不错,可以点赞👍收藏📁评论📒
📢你的支持和鼓励是我创作的动力❗❗❗

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/607843.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MYSQL实战45讲笔记--基础架构:一条SQL查询语句是如何执行的?

基础架构&#xff1a;一条SQL查询语句是如何执行的&#xff1f; **select** * **from** T **where** ID10mysql架构 MySQL 可以分为 Server 层和存储引擎层两部分。 Server 层&#xff1a;连接器、查询缓存、分析器、优化器、执行器等&#xff0c;涵盖 MySQL 的大多数核心服务…

不同平均值—集合—力扣—Python

一、题目描述&#xff1a; 二、代码解题&#xff1a; 1.不含注释语句的 class Solution:def distinctAverages(self, nums: List[int]) -> int:avg set([])l len(nums)//2for i in range(0,l):mi min(nums)ma max(nums)p (mima)/2avg.add(p)nums.remove(mi)nums.remo…

Python-For-EEG基础代码讲解(1)

Python-For-EEG 我要演示脑电图信号的基本分析。 主题 1、基于时域分析&#xff0c;P300信号数据集 Event-related potentials and 1-dimensional convolution&#xff08;ERP,CNN&#xff09;Long short-term memory(LSTM) 2、基于频域分析&#xff0c;DEAP和SSVEP数据集…

LeetCode_双指针_中等_82.删除排序链表中的重复元素 II

目录 1.题目2.思路3.代码实现&#xff08;Java&#xff09; 1.题目 给定一个已排序的链表的头 head &#xff0c; 删除原始链表中所有重复数字的节点&#xff0c;只留下不同的数字 。返回已排序的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,3,4,4,5] 输出&…

oracle19c SYSAUX表空间使用率高

今早手机收到一个信息&#xff0c;某客户的19c环境sysaux使用率超过了80%告警了。既然有事了还是需要登录查看下的 SYS > SET LINES 120 pagesize 199; SYS > COL OCCUPANT_NAME FORMAT A30; SYS > SELECT * FROM (SELECT OCCUPANT_NAME,SPACE_USAGE_KBYTES FROM V$S…

【逆向基础】JS逆向入门:小白也可以看懂

文章目录 前言一、接口抓包二、逆向分析3. 接口验证总结 前言 出于对数据安全的考虑&#xff0c;现代化的网站/APP通常会对数据接口做加密处理。而分析这些接口的加密算法并实现模拟调用的过程就叫做「逆向」。逆向对于爬虫工程师来说是一个永远绕不开的话题&#xff0c;也逐渐…

《嵌入式存储器架构、电路与应用》----学习记录(四)

第5章 新型嵌入式存储器 在现有主流嵌入式存储器中&#xff0c;SRAM虽然读写速度非常快&#xff0c;但是单元面积太大&#xff0c;无法在片上实现高密度集成&#xff1b;DRAM由于要制造电容&#xff0c;所采用的工艺无法在先进的CMOS工艺中实现&#xff0c;不利于做嵌入式存储…

六一专辑||C++实现动态烟花代码

首先&#xff0c;祝大家儿童节快乐&#xff01; 在这篇文章中&#xff0c;将用烟花致以大家最好的祝福&#xff01; 烟花代码将会用到 Easyx 图形库&#xff0c;可以去官网下载&#xff1a;easyx.cnhttp://easyx.cn/ 代码思路 1 烟花结构体 2 初始化烟花 3 烟花上升 4 烟…

设置主机名和host映射

这里写目录标题 设置主机名设置host映射主机名解析过程分析 设置主机名 为了方便记忆。可以给linux系统主机名&#xff0c;也可以根据需要修改主机名 指令hostname来查看主机名 修改主机名 vim /etc/hostname 进入之后修改就行 修改之后重启生效 设置host映射 如何通过主机…

分布式锁实现原理

为什么需要分布式锁&#xff1f; 本地锁synchronized只能锁住当前服务进程&#xff0c;一个本地锁只能锁一个服务&#xff0c;如果是分布式服务情况下使用本地锁&#xff0c;那么多少服务就会有多少进程同时执行&#xff0c;就是去了锁的效果&#xff0c;为了到达分布式情况下…

3.9 流水作业调度问题

博主简介&#xff1a;一个爱打游戏的计算机专业学生博主主页&#xff1a; 夏驰和徐策所属专栏&#xff1a;算法设计与分析 1.我对流水调度问题的理解 流水作业调度问题是动态规划中的一个经典问题&#xff0c;它涉及将一系列作业分配给多个工作站以最小化总完成时间。该问题的…

go test 包外测试

之前文章有介绍过 go test coverage 单测覆盖率 和Go test基础用法&#xff0c;今天这里主要介绍 go 单测中比较特殊的一种场景&#xff1a;包外测试。初次看到这个名字&#xff0c;我还以为就是单独创建一个新目录&#xff0c;所有的单测用例统一都汇总到这个目录下&#xff0…

【P48】JMeter 断言持续时间(Duration Assertion)

文章目录 一、断言持续时间&#xff08;Duration Assertion&#xff09;参数说明二、测试计划设计 一、断言持续时间&#xff08;Duration Assertion&#xff09;参数说明 可以控制取样器的执行是否超过某个时间&#xff0c;如果超时则报错&#xff0c;持续时间断言器也叫超时…

21天学会C++:Day6----内联函数

CSDN的uu们&#xff0c;大家好。这里是C入门的第六讲。 座右铭&#xff1a;前路坎坷&#xff0c;披荆斩棘&#xff0c;扶摇直上。 博客主页&#xff1a; 姬如祎 收录专栏&#xff1a;C专题 目录 1. 知识引入 2. 知识点讲解 2.1 内联函数的使用 2.2 内联函数的特性 2.2 …

强大Excel 插件 Zbrainsoft Dose for Excel 3.6.2 Crack

强大的 Excel 插件 Zbrainsoft Dose for Excel 3.6.2 如果您厌倦了在Excel中消除重复的行&#xff0c;比较工作表或执行困难的活动&#xff0c;那么Dose for Excel是您需要的强大便捷解决方案&#xff0c;只需单击几下即可将所有这些复杂的杂务简化。它具有 100 多个强大的新功…

pytorch实战 -- 自动微分

autograd——自动求导系统 import torch torch.manual_seed(7) <torch._C.Generator at 0x7f3c1f9e0490> torch.autograd.backward(tensors, grad_tensorsNone, retain_graphNone, create_graphFalse) 功能&#xff1a;自动求取梯度 tensors&#xff1a;用于求导的张量&…

axios-CancelToken方法取消请求-控制多次同样api调用取消上一次接口调用

前言 开发当中看到了axios取消方法&#xff0c;经过查阅&#xff0c;axios这个包是提供了取消请求的方法的。 移动端当是tab栏类的页面&#xff0c;或者是下拉刷新和上拉加载是一个接口是&#xff0c;会出现20条情况&#xff08;接口调用2次&#xff09;。 pc端同一个按钮&am…

【欢迎您,xxx--JavaScript】

login.html <body><form action"index.html">用户名&#xff1a;<input type"text" name"usname"><input type"submit" value"登录"></form> </body> index.html <body><di…

BERT在GLUE数据集构建任务

0 Introduction 谷歌开源的BERT项目在Github上&#xff0c;视频讲解可以参考B站上的一个视频 1 GLUE部分基准数据集介绍 GLUE数据集官网GLUE数据集下载&#xff0c;建议下载运行这个download_glue_data.py文件进行数据集的下载&#xff0c;如果链接无法打开&#xff0c;运行…

七、Gitee码云的注册及使用(二)

1、创建远程仓库 (1)登录Gitee.com&#xff0c;点击右上角 号&#xff0c;再点击新建仓库。 (2)填写仓库名称&#xff0c;路径&#xff0c;仓库介绍 (3)选择是否开源 (4)初始化仓库 开源许可证&#xff1a;主要包括开源是否可以随意转载&#xff0c;开源但不能商业使用&…