Matplotlib - 饼图、环形图 pie() 多重饼图 subplots() 所有用法详解

目录

基本用法 

饼图中突出显示某部分

环形图(空心饼图)

多重饼图,并添加分割线


相较散点图和折线图,柱状图、饼图、箱线图是另外 3 种数据分析常用的图形,主要用于分析数据内部的分布状态或分散状态。饼图主要用于查看各分组数据在总数据中的占比。

Matplotlib 中绘制饼图的函数为 pie () ,使用语法如下:

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, center=(0, 0), frame=False)

常用参数及说明:

参数接收值说明默认值
xarray绘图的数据;
explodearray饼图中各个饼之间的间距;0
labelsstring图例说明;
colorsstring指定饼图的填充色;随机色
autopctstring百分比显示格式;None
pctdistance数值设置百分比标签与圆心的距离;0.6
shadowbool是否添加饼图的阴影效果;FALSE
labeldistance数值设置各扇形标签(图例)与圆心的距离;1.1
startangle数值设置饼图的初始摆放角度;0
radius数值设置饼图的半径大小;None
counterclockbool是否让饼图按逆时针顺序呈现;TRUE
wedgepropsstring设置饼图内外边界的属性,如边界线的粗细、颜色等;None
textpropsstring设置饼图中文本的属性,如字体大小、颜色等;None
center坐标指定饼图的中心点位置原点(0, 0)
framebool是否要显示饼图背后的图框,如果设置为True的话,需要同时控制图框x轴、y轴的范围和饼图的中心位置;FALSE

基本用法 

import pandas as pd
import matplotlib.pyplot as plt#读取数据
datafile = u'D:\\pythondata\\learn\\matplotlib.xlsx'
data = pd.read_excel(datafile)
#取dataframe中的最后一行的数据画饼图
x = data[data['时间']==2018].iloc[:,1:].values.tolist()[0]plt.figure(figsize=(5,5))#设置画布的尺寸
plt.title('Examples of Pie Graph',fontsize=20)#标题,并设定字号大小
labels = 'Jay income','JJ income','Jolin income','Hannah income'#图例
colors = ['hotpink','slateblue','goldenrod','olivedrab']#startangle:从90度的位置开始画第一个饼图;autopct:显示一位小数;其他参数使用默认值
plt.pie(x,labels=labels,colors = colors, startangle=90,autopct='%1.1f%%')plt.show()#显示图像

饼图中突出显示某部分

 通过参数 explode 来实现:

import pandas as pd
import matplotlib.pyplot as plt#读取数据
datafile = u'D:\\pythondata\\learn\\matplotlib.xlsx'
data = pd.read_excel(datafile)
#取dataframe中的最后一行的数据画饼图
x = data[data['时间']==2018].iloc[:,1:].values.tolist()[0]plt.figure(figsize=(5,5))#设置画布的尺寸
plt.title('Examples of Pie Graph',fontsize=20)#标题,并设定字号大小
labels = 'Jay income','JJ income','Jolin income','Hannah income'#图例
colors = ['hotpink','slateblue','goldenrod','olivedrab']
explodes = (0,0,0.1,0)#突出显示Jolin income这部分的饼图plt.pie(x,explode = explodes, labels=labels,colors = colors, startangle=90,autopct='%1.1f%%')plt.show()#显示图像

环形图(空心饼图)

import pandas as pd
import matplotlib.pyplot as plt#读取数据
datafile = u'D:\\pythondata\\learn\\matplotlib.xlsx'
data = pd.read_excel(datafile)
#取dataframe中的最后一行的数据画饼图
x = data[data['时间']==2018].iloc[:,1:].values.tolist()[0]
x_0 = [1,0,0,0]#用于显示空心plt.figure(figsize=(5,5))#设置画布的尺寸
labels = 'Jay income','JJ income','Jolin income','Hannah income'#图例
colors = ['hotpink','slateblue','goldenrod','olivedrab']plt.pie(x  , radius=1.0,pctdistance = 0.8,labels=labels,colors = colors, startangle=90,autopct='%1.1f%%')
plt.pie(x_0, radius=0.6,colors = 'w')plt.show()#显示图像

 

多重饼图,并添加分割线

import numpy as np
import pandas as pd
import matplotlib.pyplot as pltdatafile = u'D:\\pythondata\\learn\\matplotlib.xlsx'
data = pd.read_excel(datafile)
x1 = data[data['时间']==2005].iloc[:,1:].values.tolist()[0]#多重饼图第一层数据
x2 = data[data['时间']==2010].iloc[:,1:].values.tolist()[0]#多重饼图第二层数据fig,ax = plt.subplots()
colors = ['hotpink','slateblue','goldenrod','olivedrab']
labels = 'Jay income','JJ income','Jolin income','Hannah income'#图例
pie_1 = ax.pie(x1,startangle=90,autopct='%1.1f%%',radius=1.5,pctdistance = 0.9,colors=colors, labels=labels)
pie_2 = ax.pie(x2,startangle=90,autopct='%1.1f%%',radius=1.2,pctdistance = 0.6,colors=colors)#添加多重饼图的分割线
for pie_wedge in pie_1[0]:pie_wedge.set_edgecolor('black')
for pie_wedge in pie_2[0]:pie_wedge.set_edgecolor('black')ax.set(aspect="equal")
plt.show()#显示图表

 

 

 

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

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

相关文章

USACO2.11 The Castle hdu1198

题意: 我们憨厚的USACO主人公农夫约翰(Farmer John)以无法想象的运气,在他生日那天收到了一份特别的礼物:一张“幸运爱尔兰”(一种彩票)。结果这张彩票让他获得了这次比赛唯一的奖品——坐落于爱尔兰郊外的一座梦幻般的城堡&#…

LeetCode 1072. 按列翻转得到最大值等行数(查找相同的模式,哈希计数)

1. 题目 给定由若干 0 和 1 组成的矩阵 matrix,从中选出任意数量的列并翻转其上的 每个 单元格。 翻转后,单元格的值从 0 变成 1,或者从 1 变为 0 。 返回经过一些翻转后,行上所有值都相等的最大行数。 示例 1: 输入…

Matplotlib - 箱线图、箱型图 boxplot () 所有用法详解

目录 基本用法 水平箱线图,显示均值 改变箱线图的形状(箱体的形状notch、异常值的形状sym) 改变箱线图的颜色(箱体边框的颜色、箱体填充色) 相较散点图和折线图,柱状图、饼图、箱线图(箱…

【转载】三极管,场效应管 工作原理小结

三极管属于流控器件,即Ib控制放大Ic, 场效应管属于压控器件,即Ugs控制Id。 二者都有三个工作区域,即截止区,恒流区和可变电阻区。 Ib小于开启电流时,Ic不受控,Rce很大,Ic很小&#x…

educoderpython答案顺序结构程序设计_答案汇总:土木机械类+计算机类

土木机械类(点击图片查看答案)理论力学1哈工大第7版机械设计濮良贵第9版机械原理西工大第8版材料力学1刘鸿文第5版结构力学1龙驭球第4版结构力学朱慈勉第2版工程力学范钦珊第2版材料力学2孙训方第5版理论力学教程水小平机械工程控制基础杨叔子第6版自动控制原理胡寿松第6版土力…

Pyecharts - 动态地图 geo()/ map() - 安装与用法详解

目录 安装Pyecharts 安装对应的地图拓展: 准备数据 使用 pyecharts 模块中的 Geo 函数: 使用 pyecharts 模块中的 map 函数: 把一些地域性比较明显的数据显示在一张地图上,远比给别人一个 Excel 文件好得多。 Matplotlib 中…

[编程启蒙游戏] 1. 猜数字

文章目录1. 游戏前提2. 游戏目的3. python代码4. 玩一玩1. 游戏前提 儿童能认识数字能比较数字大小 2. 游戏目的 培养孩子的二分查找思维 3. python代码 # python 3.7 环境 while True:n int(input("请输入一个数来猜:\n"))count 1print((\n*15))g…

《记得我们有约》17集

电视剧《记得我们有约》“来杯铁马咖啡吧!“穿梭在苗栗田野,骑着铁马卖咖啡的叮当-江沐云,天性活泼开朗,意志坚强的她,从不向命运低头,在民宿里担任打杂帮手,勤快不怕苦又带些小霸道的个性&…

对照表 - 用心整理了一份国内985/211大学名单及其一流学科

主要根据用户所填的大学名称,用于用户画像时对用户分类 国内985/211大学名单,但其中未包含港澳台的学校,比如香港中文大学,香港理工大学等。 类型地区学校名称一流学科建设名单985北京清华大学法学、政治学、马克思主义理论、数…

生命银行怎么样_银行双职工家庭现状实录

和大多数银行女一样,我和老公也是同在银行上班相识,14年结婚,15年9月,大儿子出生,然后婆婆跟妈妈轮流照顾小孩,18年1月,小儿子出生,从此便开始了歇斯里底,腥风血雨的生活…

LeetCode 1049. 最后一块石头的重量 II(DP)

1. 题目 有一堆石头&#xff0c;每块石头的重量都是正整数。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。 假设石头的重量分别为 x 和 y&#xff0c;且 x < y。那么粉碎的可能结果如下&#xff1a; 如果 x y&#xff0c;那么两块石头都会…

特征计算 - Jaccard 相似系数与 Python 代码实现

Jaccard 相似系数又称为Jaccard相似性度量&#xff08;Jaccard系数&#xff0c;Jaccard 指数&#xff0c;Jaccard index&#xff09;。用于比较有限样本集之间的相似性与差异性。Jaccard系数值越大&#xff0c;样本相似度越高。定义为相交的大小除以样本集合的大小&#xff1a;…

LeetCode 1293. 网格中的最短路径(DP/BFS)

1. 题目 给你一个 m * n 的网格&#xff0c;其中每个单元格不是 0&#xff08;空&#xff09;就是 1&#xff08;障碍物&#xff09;。 每一步&#xff0c;您都可以在空白单元格中上、下、左、右移动。 如果您 最多 可以消除 k 个障碍物&#xff0c;请找出从左上角 (0, 0) 到…

员工奖金需要交税吗_企业为员工发福利 奖品奖金也需要缴税

原标题&#xff1a;企业为员工发福利 奖品奖金也需要缴税企业的福利待遇经常成为员工炫耀的资本&#xff0c;过生日企业准备了小礼品&#xff0c;各种节日为员工准备的物品&#xff0c;举办不容形式的年会的时候对先进工作者发放奖金、奖品及举行抽奖活动。那么&#xff0c;发放…

天气预报Dom解析(转)

view plain<span style"font-family:Arial, Verdana, sans-serif;color:#000000;"><span style"white-space: normal;"><span style"color:#000099;"> </span></span></span> DOM是用与平台无关和语言无关…

用户行为分析模型-(行为事件分析、用户留存分析、漏斗分析、行为路径分析、用户分群、点击分析)

最近有些忙&#xff0c;但是看到了很好的分析模型也要跟大家分享的&#xff0c;这篇博客有些粗糙&#xff0c;主要是po上一些链接供大家学习&#xff0c;有时间的话&#xff0c;我也会写出自己关于用户行为分析的理解的。 下面是关于用户行为分析常见的分析维度&#xff0c;有…

[scikit-learn 机器学习] 4. 特征提取

文章目录1. 从类别变量中提取特征2. 特征标准化3. 从文本中提取特征3.1 词袋模型3.2 停用词过滤3.3 词干提取和词形还原3.4 TF-IDF 权重扩展词包3.5 空间有效特征向量化与哈希技巧3.6 词向量4. 从图像中提取特征4.1 从像素强度中提取特征4.2 使用卷积神经网络激活项作为特征本文…

webgis 行政图报错_WebGIS 地图 示例源码下载

【实例简介】【实例截图】【核心代码】esri Deomhtml, body, #map {height: 100%;width: 100%;}body {background-color: #fff;overflow: hidden;}#BasemapToggle {position: absolute;right: 20px;top: 20px;z-index: 50;}#HomeButton {left: 25px;position: absolute;top: 93…

正则表达式 - 去掉乱码字符/提取字符串中的中文字符/提取字符串中的大小写字母 - Python代码

目录 1.乱码符号种类较少&#xff0c;用replace() 2.乱码字符种类较多&#xff0c;用re.sub() 3.提取字符串中的中文字符 4.提取字符串中的中文字符和数字 5.提取其他 数据清洗的时候一大烦恼就是数据中总有各种乱码字符&#xff0c;比如&#xff01;#&#xffe5;%……&a…

《JavaScript高级程序设计》阅读笔记(一):ECMAScript基础

2.1 语法 区分大小写、变量弱类型、行尾分号可有可无、注释为双斜线、括号表明代码块 2.2 变量 变量用var声明&#xff0c;变量的命名规则&#xff1a;第一个字符必须是字母、下划线或美元符号&#xff1b;余下的字符可以是下划线、美元符号或任何字母或数字字符。 变量命名规范…