python使用matplotlib饼图带有百分比显示
时间: 2023-12-14 15:11:14 浏览: 126
你可以使用`matplotlib`库中的`pie`函数绘制饼图,并使用`autopct`参数设置百分比显示格式。下面是一个简单的例子:
```python
import matplotlib.pyplot as plt
# 数据
labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]
# 饼图
plt.pie(sizes, labels=labels, autopct='%1.1f%%')
# 显示
plt.show()
```
在`autopct`参数中,`%1.1f%%`表示保留一位小数的百分比显示格式。你可以根据需要进行修改。
相关问题
matplotlib饼图怎么直接显示值
在Matplotlib中创建饼图时,可以直接在每个扇形上显示数值,这通常通过`autopct`属性来实现。`autopct`是一个格式字符串,它会自动计算并显示每个扇形的百分比或实际值。例如:
```python
import matplotlib.pyplot as plt
# 数据
fruits = ['Apples', 'Bananas', 'Cherries', 'Dates']
sizes = [50, 20, 15, 15] # 每种水果的数量
fig1, ax1 = plt.subplots()
ax1.pie(sizes, labels=fruits, autopct='%1.1f%%', shadow=True) # '%1.1f%%' 显示小数点后一位的百分比
plt.title('Fruit Pie Chart with Values')
# 如果你想显示具体的数值而不是百分比,可以这样设置:
ax2 = fig1.add_subplot(122, aspect='equal') # 创建第二个子图
ax2.pie(sizes, labels=fruits, autopct=lambda p : '{:.1f}'.format(p * sum(sizes)), textprops={'size': 14})
plt.title('Fruit Pie Chart with Values (Numbers)')
plt.show()
```
在这个例子中,第一个图表显示的是百分比,第二个图表显示的是数字形式的具体值。
matplotlib饼图参数
matplotlib绘制饼图时,常用的参数包括:
- labels:一个字符串列表,用于指定每个扇形的标签。
- sizes:一个float列表,用于指定每个扇形的大小,相对于整个饼图的总大小。
- colors:一个颜色列表,用于指定每个扇形的颜色。
- explode:一个float列表,用于指定每个扇形与饼图中心的距离,以突出显示。
- autopct:一个字符串或函数,用于指定如何在扇形内部显示每个扇形的百分比或数值。
- startangle:一个float,用于指定饼图的起始角度,以度数表示。
- shadow:一个bool值,用于指定是否绘制阴影效果。
- radius:一个float,用于指定饼图的半径大小。
- counterclock:一个bool值,用于指定饼图的绘制方向是否为逆时针方向。
这些参数可以通过调用plt.pie()函数时传入,例如:
```python
import matplotlib.pyplot as plt
sizes = [15, 30, 45, 10]
labels = ['A', 'B', 'C', 'D']
colors = ['red', 'blue', 'green', 'yellow']
explode = (0, 0.1, 0, 0)
plt.pie(sizes, labels=labels, colors=colors, explode=explode,
autopct='%1.1f%%', startangle=90, shadow=True)
plt.axis('equal')
plt.show()
```
阅读全文