Python学习笔记第六十八天(Matplotlib 饼图)

Python学习笔记第六十八天

Matplotlib 饼图

饼图(Pie Chart)是一种常用的数据可视化图形,用来展示各类别在总体中所占的比例。

我们可以使用 pyplot 中的 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() 函数还可以返回三个参数:

  • wedges:一个包含扇形对象的列表。

  • texts:一个包含文本标签对象的列表。

  • autotexts:一个包含自动生成的文本标签对象的列表。

绘制饼图

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

python 复制代码
实例
import matplotlib.pyplot as plt
import numpy as np

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

plt.pie(y)
plt.show()

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

python 复制代码
# 实例 2
import matplotlib.pyplot as plt
import numpy as np

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

plt.pie(y,
        labels=['A','B','C','D'], # 设置饼图标签
        colors=["#d5695d", "#5d8ca8", "#65a479", "#a564c9"], # 设置饼图颜色
       )
plt.title("饼图各个扇形的标签与颜色") # 设置标题
plt.show()

设置饼图的分离扇形

突出显示分离的扇形,并格式化输出百分比(3D效果)

python 复制代码
# 实例 3
import matplotlib.pyplot as plt

# 数据
sizes = [15, 30, 45, 10]

# 饼图的标签
labels = ['A', 'B', 'C', 'D']

# 饼图的颜色
colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral']

# 突出显示第二个扇形
explode = (0, 0.1, 0, 0)

# 绘制饼图
plt.pie(sizes, explode=explode, labels=labels, colors=colors,
        autopct='%1.1f%%', shadow=True, startangle=90)

# 标题
plt.title("3D分离散形")

# 显示图形
plt.show()

我们定义了一个包含 4 个元素的列表 sizes,它表示各个类别在总体中所占的比例。然后,我们定义了一个包含 4 个元素的列表 labels,它表示各个类别的标签。接下来,我们定义了一个包含 4 个元素的列表 colors,它表示每个类别的颜色。然后,我们定义了一个包含 4 个元素的元组 explode,它用来指定是否突出某个扇形。接着,我们调用 plt.pie 函数来绘制饼图,其中传入了上述参数。最后,我们添加了一个标题,并调用 plt.show() 来显示图形。

显示分离的扇形,并格式化输出百分比(2D效果)

python 复制代码
# 实例 4
import matplotlib.pyplot as plt
import numpy as np

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

plt.pie(y,
        labels=['A','B','C','D'], # 设置饼图标签
        colors=["#d5695d", "#5d8ca8", "#65a479", "#a564c9"], # 设置饼图颜色
        explode=(0, 0.2, 0, 0), # 第二部分突出显示,值越大,距离中心越远
        autopct='%.2f%%', # 格式化输出百分比
       )
plt.title("2D分离散形")
plt.show()

注意:默认情况下,第一个扇形的绘制是从 x 轴开始并逆时针移动

后记

今天学习的是Python Matplotlib 饼图学会了吗。 今天学习内容总结一下:

  1. 绘制饼图
  2. 设置饼图各个扇形的标签与颜色
  3. 设置饼图的分离扇形
相关推荐
我爱挣钱我也要早睡!11 分钟前
Java 复习笔记
java·开发语言·笔记
知识分享小能手3 小时前
React学习教程,从入门到精通, React 属性(Props)语法知识点与案例详解(14)
前端·javascript·vue.js·学习·react.js·vue·react
luckys.one3 小时前
第9篇:Freqtrade量化交易之config.json 基础入门与初始化
javascript·数据库·python·mysql·算法·json·区块链
大翻哥哥4 小时前
Python 2025:量化金融与智能交易的新纪元
开发语言·python·金融
汇能感知5 小时前
摄像头模块在运动相机中的特殊应用
经验分享·笔记·科技
阿巴Jun5 小时前
【数学】线性代数知识点总结
笔记·线性代数·矩阵
zhousenshan5 小时前
Python爬虫常用框架
开发语言·爬虫·python
茯苓gao5 小时前
STM32G4 速度环开环,电流环闭环 IF模式建模
笔记·stm32·单片机·嵌入式硬件·学习
是誰萆微了承諾6 小时前
【golang学习笔记 gin 】1.2 redis 的使用
笔记·学习·golang
IMER SIMPLE6 小时前
人工智能-python-深度学习-经典神经网络AlexNet
人工智能·python·深度学习