使用Matplotlib绘制圆环图

news2024/12/24 21:29:47

圆环图是饼图的修改版,中间区域被切掉。圆环图更关注使用弧的面积来以最有效的方式表示信息,而不是饼图,饼图更关注比较切片之间的比例面积。圆环图在空间方面更有效,因为圆环图内部的空白空间可用于显示有关圆环图的一些附加信息。

作为一个圆环图,它必须是一个饼图。如果我们看饼图,我们将关注图表的中心。另一方面,圆环图消除了比较切片的大小或面积的需要,并将焦点转移到弧的长度上,这反过来又很容易测量。

创建简单的圆环图

import matplotlib.pyplot as plt

# Setting labels for items in Chart
Employee = ['Roshni', 'Shyam', 'Priyanshi',
			'Harshit', 'Anmol']

# Setting size in Chart based on 
# given values
Salary = [40000, 50000, 70000, 54000, 44000]

# colors
colors = ['#FF0000', '#0000FF', '#FFFF00', 
		'#ADFF2F', '#FFA500']
# explosion
explode = (0.05, 0.05, 0.05, 0.05, 0.05)

# Pie Chart
plt.pie(Salary, colors=colors, labels=Employee,
		autopct='%1.1f%%', pctdistance=0.85,
		explode=explode)

# draw circle
centre_circle = plt.Circle((0, 0), 0.70, fc='white')
fig = plt.gcf()

# Adding Circle in Pie chart
fig.gca().add_artist(centre_circle)

# Adding Title of chart
plt.title('Employee Salary Details')

# Displaying Chart
plt.show()

在这里插入图片描述

自定义圆环图

将图例添加到圆环图

图表图例通常以方框的形式出现在图表的右侧或左侧。它包含图表上每种颜色的小样本以及图表中每种颜色含义的简短描述。

要添加图例,我们只需编写以下代码。

plt.legend(labels, loc = "upper right") 

这里plt.legend()有两个参数,第一个是labels,loc用来设置图例框的位置。

import matplotlib.pyplot as plt


# Setting size in Chart based on 
# given values
sizes = [100, 500, 70, 54, 440]

# Setting labels for items in Chart
labels = ['Apple', 'Banana', 'Mango', 'Grapes', 'Orange']

# colors
colors = ['#FF0000', '#0000FF', '#FFFF00', '#ADFF2F', '#FFA500']

# explosion
explode = (0.05, 0.05, 0.05, 0.05, 0.05)

# Pie Chart
plt.pie(sizes, colors=colors, labels=labels,
		autopct='%1.1f%%', pctdistance=0.85, 
		explode=explode)

# draw circle
centre_circle = plt.Circle((0, 0), 0.70, fc='white')
fig = plt.gcf()

# Adding Circle in Pie chart
fig.gca().add_artist(centre_circle)

# Adding Title of chart
plt.title('Favourite Fruit Survey')

# Add Legends
plt.legend(labels, loc="upper right")

# Displaying Chart
plt.show()

在这里插入图片描述
在圆环图的图例框中添加标题

我们可以通过编写以下代码向圆环图中的图例框添加标题:

plt.legend(labels, loc = "upper right",title="Fruits Color")

示例:

import matplotlib.pyplot as plt


# Setting size in Chart based on 
# given values
sizes = [100, 500, 70, 54, 440]

# Setting labels for items in Chart
labels = ['Apple', 'Banana', 'Mango', 'Grapes',
		'Orange']

# colors
colors = ['#FF0000', '#0000FF', '#FFFF00', '#ADFF2F',
		'#FFA500']

# explosion
explode = (0.05, 0.05, 0.05, 0.05, 0.05)

# Pie Chart
plt.pie(sizes, colors=colors, labels=labels,
		autopct='%1.1f%%', pctdistance=0.85,
		explode=explode)

# draw circle
centre_circle = plt.Circle((0, 0), 0.70, fc='white')
fig = plt.gcf()

# Adding Circle in Pie chart
fig.gca().add_artist(centre_circle)

# Adding Title of chart
plt.title('Favourite Fruit Survey')

# Add Legends
plt.legend(labels, loc="upper right", title="Fruits Color")

# Displaying Chart
plt.show()

在这里插入图片描述

案例

考虑另一种情况,你必须准备一份不同学生在测试中获得的分数报告,并通过使用圆环图来可视化他们的表现。为了解决这个问题,我们将使用Python的matplotlib库。我们的想法是,我们将制作一个不同学生的名字列表和另一个他们各自的分数列表,并用这个列表制作一个圆环图。

# library
import matplotlib.pyplot as plt

# list of name of students
names = ['Manish', 'Atul', 'Priya', 'Harshit']

# list of their respective marks
marks = [45, 66, 55, 77]

# Create a circle at the center of
# the plot
my_circle = plt.Circle((0, 0), 0.7, color='white')

# Give color names
plt.pie(marks, labels=names, autopct='%1.1f%%',
		colors=['red', 'green', 'blue', 'yellow'])

p = plt.gcf()
p.gca().add_artist(my_circle)

# Show the graph
plt.show()

在这里插入图片描述

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

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

相关文章

黑科技工具盒源码 好用的手机工具盒iAPP源码

全新推出!多功能工具箱:一款实用的手机工具集,提供丰富的免费小工具,操作简便。目前包含六项黑科技功能,分别为QQ云端、短信测压、Q绑查询、照妖镜、chatgpt、网页一键打包APP。工具箱体积小巧,不占内存&am…

自建Web视频会议,视频互动,SFU/MCU融合架构选型方案分析

网络越来越好,大家已经越来越多接受在家在线办公,在线工作越来越离不开视频会议,视频互动,当然云平台很多,但也用不同的需求,很多需要自建平台与自已的业务系统集成对接。因为大家业务系统多是b/s架构。一般…

Go-zero中分布式事务的实现(DTM分布式事务管理器,在一个APi中如何调用两个不同服务的rpc层,并保证两个不同服务之间的业务逻辑同时成功)

涉及到的相关技术 1.DTM分布式事务管理器,解决跨数据库、跨服务、跨语言栈更新数据的一致性问题。 2.SAGA事务模式,SAGA事务模式是DTM中常用的一种模式,简单易上手.(当然还有其它更多的事务模式,这里采用的SAGA只不过是其中一种较为简单的方法) 3.Go-zero框架,ETCD服务注册... …

绝地求生:【2024PGC之路——PUBG电竞积分分布】

亲爱的PUBG电竞爱好者, 你们好! 2024年PUBG电竞即将开始,让我们一起深入了解下今年令人激动的PGS 和 PGC赛事积分分配情况。 PUBG GLOBAL SERIES(PGS全球系列赛): 积分分布 根据我们之前概述的《PUBG 2024电竞计划》…

[项目设计] 从零实现的高并发内存池(一)

🌈 博客个人主页:Chris在Coding 🎥 本文所属专栏:[高并发内存池] ❤️ 前置学习专栏:[Linux学习] ⏰ 我们仍在旅途 ​ 目录 前言 项目介绍 1.内存池 1.1 什么是内存池 池化技术 内存池 1.2 为什…

P9905 [COCI 2023/2024 #1] AN2DL 【矩阵区间最大值】

文章目录 题目大意1.输入格式2.输出格式3.数据范围与约定 思路维护每一行区间维护每一列区间维护区间最大值code↓ 完结撒花( ̄▽ ̄) / 题目大意 给定 n , m , r , s n,m,r,s n,m,r,s 和一个 n m n\times m nm 的整数矩阵 A A A,求它每个 …

PyTorch-神经网络

神经网络,这也是深度学习的基石,所谓的深度学习,也可以理解为很深层的神经网络。说起这里,有一个小段子,神经网络曾经被打入了冷宫,因为SVM派的崛起,SVM不了解的同学可以去google一下&#xff0…

Android 多桌面图标启动, 爬坑点击打开不同页面

备注 : MainActivity 正常带界面的UI MainActivityBt 和 MainActivityUsb 是透明的,即 android:theme"style/TranslucentTheme" ###场景1:只有MainActivity 设置成:android:launchMode"singleTask" 点击顺序&#xff1…

外贸网站模板建站

测绘检测wordpress外贸主题 简洁实用的wordpress外贸主题,适合做测绘检测仪器设备的外贸公司使用。 https://www.jianzhanpress.com/?p5337 白马非马衣服WordPress外贸建站模板 白马非马服装行业wordpress外贸建站模板,适用于时间服装企业的官方网站…

ehcache3介绍和使用示例

介绍 EhCache是一个广泛使用的Java进程内缓存框架,具有快速和精干的特点。它提供了以下主要优势: 速度快:由于其直接在JVM进程中运行,EhCache的访问速度非常快,适合对响应时间要求较高的应用。 配置灵活:…

使用 Haproxy 搭建Web群集

Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多,如LVS 和Nginx。相比较而言,LVS.牲能最好.但是搭建相对复杂:Nginx的upstream模块支持群集功能.但是对群集节点健康检查功能不强,性能没有…

GEE:使用ReLu激活函数对单波段图像进行变换(以NDVI为例)

作者:CSDN @ _养乐多_ 本文将介绍在 Google Earth Engine (GEE)平台上,对任意单波段影像进行 ReLu 变换的代码。并以对 NDVI 影像像素值的变换为例。 文章目录 一、ReLu激活函数1.1 什么是 ReLu 激活函数1.2 用到遥感图像上有什么用?二、代码链接三、完整代码一、ReLu激活…

HTML5:七天学会基础动画网页6

CSS3自定义字体 ①:首先需要下载所需字体 ②:把下载字体文件放入 font文件夹里,建议font文件夹与 css 和 image文件夹平级 ③:引入字体,可直接在html文件里用font-face引入字体,分别是字体名字和路径 例…

【C++ 函数栈】栈区保存函数参数和函数调用的过程

目录 1 调用过程 🙋‍♂️ 作者:海码007📜 专栏:C专栏💥 标题:【C 函数栈】栈区保存函数参数和函数调用的过程❣️ 寄语:人生的意义或许可以发挥自己全部的潜力,所以加油吧&#xff…

循环队列与循环双端队列

文章目录 前言循环队列循环双端队列 前言 1、学习循环队列和循环双端队列能加深我们对队列的理解,提高我们的编程能力。 2、本文循环队列使用的是数组,循环双端队列用的是双向链表 3、题目连接:设计循环队列 ,设计循环双端队列。 …

C++面试宝典第34题:整数反序

题目 给出一个不多于5位的整数, 进行反序处理。要求: 1、求出它是几位数。 2、分别输出每一位数字。仅数字间以空格间隔, 负号与数字之间不需要间隔。如果是负数,负号加在第一个数字之前, 与数字没有空格间隔。注意:最后一个数字后没有空格。 3、按逆序输出各位数字。逆序后…

华为od机试C卷-开源项目热度榜单

1、题目描述 某个开源社区希望将最近热度比较高的开源项目出一个榜单,推荐给社区里面的开发者。 对于每个开源项目,开发者可以进行关注(watch)、收藏(star)、fork、提issue、提交合并请求(MR)等。 数据库里面统计了每个开源项目关注、收藏、fork、issue…

适用于恢复iOS数据的 10 款免费 iPhone 恢复软件

现在,您可以获得的 iPhone 的存储容量比大多数人的笔记本电脑和台式电脑的存储容量还要大。虽然能够存储数千张高分辨率照片和视频文件、安装数百个应用程序并随身携带大量音乐库以供离线收听固然很棒,但在一个地方拥有如此多的数据可能会带来毁灭性的后…

LNOI省选祭录

写在前面 大概率爆零 你说得对,但是「辽宁省2024联合省选」是一款由「中国计算机学会」推出的一款「开放世界冒险游戏」,游戏发生在一个被称作「大连大学」的幻想世界,在这里,被神选中的人将被授予「xor魔法手杖」,引…

#WEB前端(浮动与定位)

1.实验&#xff1a; 2.IDE&#xff1a;VSCODE 3.记录&#xff1a; float、position 没有应用浮动前 应用左浮动和右浮动后 应用定位 4.代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><me…