是一种数据可视化的方法,可以直观地展示不同类别的数据在总计中的占比情况。
DataFrame.plot是pandas库中的一个函数,用于绘制各种类型的图表,包括条形图。堆叠条形图是一种特殊的条形图,可以将不同类别的数据堆叠在一起,形成总计和各个类别的百分比。
在绘制堆叠条形图时,可以按照以下步骤进行操作:
- 导入必要的库和模块:import pandas as pd
import matplotlib.pyplot as plt
- 创建一个DataFrame对象,包含需要绘制的数据:data = {'Category': ['A', 'B', 'C'],
'Value1': [10, 20, 30],
'Value2': [20, 30, 40],
'Value3': [30, 40, 50]}
df = pd.DataFrame(data)
- 计算每个类别的总计和百分比:df['Total'] = df['Value1'] + df['Value2'] + df['Value3']
df['Percentage1'] = df['Value1'] / df['Total'] * 100
df['Percentage2'] = df['Value2'] / df['Total'] * 100
df['Percentage3'] = df['Value3'] / df['Total'] * 100
- 绘制堆叠条形图:df.plot(x='Category', y=['Percentage1', 'Percentage2', 'Percentage3'], kind='bar', stacked=True)
plt.xlabel('Category')
plt.ylabel('Percentage')
plt.title('Stacked Bar Chart with Total and Percentage')
plt.legend(['Value1', 'Value2', 'Value3'])
plt.show()
在上述代码中,首先创建了一个包含类别和数值的DataFrame对象。然后通过计算每个类别的总计和百分比,将结果存储在新的列中。最后使用DataFrame.plot函数绘制堆叠条形图,并设置x轴为类别,y轴为百分比,堆叠方式为True,同时添加合适的标签和标题。