目录

Matplotlib 饼图


创建饼图

通过 Pyplot,您可以使用pie()绘制饼图的函数:

示例

一个简单的饼图:

import matplotlib.pyplot as plt
import numpy as np

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

plt.pie(y)
plt.show() 

结果:

亲自试一试 »

正如您所看到的,饼图为数组中的每个值(在本例中为 [35, 25, 25, 15])绘制一块(称为楔形)。

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

笔记:每个楔形的大小是通过将该值与所有其他值进行比较来确定的,使用以下公式:

该值除以所有值的总和:x/sum(x)



标签

使用以下命令向饼图添加标签label范围。

这个label参数必须是一个数组,每个楔形都有一个标签:

示例

一个简单的饼图:

import matplotlib.pyplot as plt
import numpy as np

y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]

plt.pie(y, labels = mylabels)
plt.show() 

结果:

亲自试一试 »

起始角度

如前所述,默认起始角度位于 x 轴,但您可以通过指定startangle范围。

这个startangle参数定义为角度,默认角度为 0:

示例

以 90 度开始第一个楔形:

import matplotlib.pyplot as plt
import numpy as np

y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]

plt.pie(y, labels = mylabels, startangle = 90)
plt.show() 

结果:

亲自试一试 »

爆炸

也许您希望其中一个楔子脱颖而出?这explode参数允许你这样做。

这个explode参数(如果指定),而不是None,必须是一个数组,每个楔形都有一个值。

每个值表示每个楔形显示距中心的距离:

示例

将 "Apples" 楔子从饼图中心拉出 0.2:

import matplotlib.pyplot as plt
import numpy as np

y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
myexplode = [0.2, 0, 0, 0]

plt.pie(y, labels = mylabels, explode = myexplode)
plt.show() 

结果:

亲自试一试 »

阴影

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

示例

添加阴影:

import matplotlib.pyplot as plt
import numpy as np

y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
myexplode = [0.2, 0, 0, 0]

plt.pie(y, labels = mylabels, explode = myexplode, shadow = True)
plt.show() 

结果:

亲自试一试 »

颜色

您可以使用以下命令设置每个楔形的颜色colors范围。

这个colors参数(如果指定)必须是一个数组,每个楔形都有一个值:

示例

为每个楔形指定新颜色:

import matplotlib.pyplot as plt
import numpy as np

y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
mycolors = ["black", "hotpink", "b", "#4CAF50"]

plt.pie(y, labels = mylabels, colors = mycolors)
plt.show() 

结果:

亲自试一试 »

您可以使用十六进制颜色值,任何一个140 个支持的颜色名称,或以下快捷方式之一:

'r'- 红色的
'g'- 绿色的
'b'- 蓝色的
'c'- 青色
'm'- 洋红色
'y'- 黄色的
'k'- 黑色的
'w'- 白色的


传奇

要为每个楔形添加解释列表,请使用legend()功能:

示例

添加图例:

import matplotlib.pyplot as plt
import numpy as np

y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]

plt.pie(y, labels = mylabels)
plt.legend()
plt.show() 

结果:

亲自试一试 »

带标题的图例

要向图例添加标题,请添加title参数到legend功能。

示例

添加带有标题的图例:

import matplotlib.pyplot as plt
import numpy as np

y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]

plt.pie(y, labels = mylabels)
plt.legend(title = "Four Fruits:")
plt.show() 

结果:

亲自试一试 »