欢迎您 本站地址:  

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]

参数说明:

除此之外,pie() 函数还可以返回三个参数:

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

实例

import matplotlib.pyplot as plt
import numpy as np

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

plt.pie(y)
plt.show()

显示结果如下:

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

实例

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("RUNOOB Pie Test") # 设置标题
plt.show()

显示结果如下:

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

实例

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("RUNOOB Pie Test")

# 显示图形
plt.show()

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

显示结果如下:

实例

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("RUNOOB Pie Test")
plt.show()

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

小库提示

扫描下方二维码,访问手机版。