在饼图中合并小数值:将apples与bananas合并为fruits分片实现方法
实现代码及步骤
完整可运行代码如下:
import pandas as pd import numpy as np import matplotlib.pyplot as plt # 原始数据生成 df= pd.DataFrame([["potatoes",20],["carots",39], ["tomatos",40], ["apples",2], ["bananas",2]] , columns = ["aliments","number"]) # 1. 合并apples、bananas为fruits项 # 计算两个小数值项的总和 fruits_sum = df[df['aliments'].isin(['apples', 'bananas'])]['number'].sum() # 过滤原有两项,新增合并后的fruits行 processed_df = df[~df['aliments'].isin(['apples', 'bananas'])].copy() processed_df = pd.concat([processed_df, pd.DataFrame({'aliments': ['fruits'], 'number': [fruits_sum]})], ignore_index=True) # 2. 绘制饼图 plt.pie(processed_df['number'], labels=processed_df['aliments'], autopct='%.1f%%') # 保证饼图为正圆形 plt.axis('equal') # 自定义标题 plt.title('食品数量分布') plt.show()
样式调整说明:
- 如需自定义配色,可在
plt.pie方法中添加colors参数传入色值列表 - 如需突出展示某个分片,可添加
explode参数设置对应分片的偏移距离 autopct参数用于控制饼图上百分比的显示格式,可根据需求调整
内容的提问来源于stack exchange,提问作者annavictoria12345678
相关产品推荐
相关产品推荐

