通过 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()
亲自试一试 »
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!