常用的堆叠图
常用的堆叠图包括堆叠面积图和堆叠柱状图,它们各自有哪些相应的适用场景呢?下面就进行解答。
堆叠柱状图:
适用场景:
1、比较多个部分的总量:堆叠柱状图可以用于比较多个类别的总量,并展示每个类别内部的分布 情况。
2、强调总量和各部分占比:堆叠柱状图可以清晰地显示各类别之间的相对大小,以及每个类别内 部子部分的比例。
3、变化趋势:可以用于显示各类别的变化趋势,尤其是在多个时间点或条件下。
4、多个类别的组合:适用于展示多个类别及其子类别的组合情况,例如不同产品的销售额,以及各产品的成本、利润等。
示例应用:
1、销售报表:展示不同产品的总销售额,并分解为不同渠道或区域的销售额。
2、财务报表:比较不同类别的总收入,并展示各收入来源的具体构成。
3、项目进度:显示项目总进度,并将其分解为不同阶段或任务的完成情况。
堆叠面积图:
适用场景:
1、强调总量和组成比例:堆叠面积图适合强调总量以及各部分占总量的比例。
2、显示变化趋势:可以用于显示多个系列数据随时间或其他变量的变化趋势,并强调它们的总和。
3、呈现累积效果:可以显示多个累积过程的效果,例如累积销售额、累积收益等。
4、展示总和与组成部分之间的关系:适用于展示总和和组成部分之间的相对重要性或相对变化。
示例应用:
1、财务报表:用于展示总收入、总成本以及它们的累积效果。
2、气候变化数据:显示总降雨量,并将其分解为不同类型的降水。
3、人口统计数据:展示总人口数量,并将其分解为不同年龄组的人口数量。
总的来说,选择使用堆叠柱状图或堆叠面积图取决于你想要传达的信息以及数据的特性。如果你需要强调各部分的总量并比较它们的大小,可以选择堆叠柱状图。如果你更关注总量和各组成部分的相对比例,以及它们随时间的变化趋势,那么堆叠面积图可能更合适。
python绘制堆叠柱状图:
import matplotlib.pyplot as plt
# 准备数据
categories = ['A', 'B', 'C', 'D', 'E']
values1 = [10, 15, 25, 30, 20]
values2 = [5, 10, 15, 20, 25]
x = range(len(categories))
# 绘制堆叠柱状图
plt.figure(figsize=(10, 6))
plt.bar(x, values1, label='Series 1', color='blue')
plt.bar(x, values2, bottom=values1, label='Series 2', color='orange')
plt.xlabel('Categories')
plt.ylabel('Values')
plt.xticks(x, categories)
plt.legend(loc='upper left')
plt.title('Stacked Bar Chart Example')
plt.show()
结果展示:
python绘制堆叠面积图
import matplotlib.pyplot as plt
import numpy as np
# 准备数据
x = [1, 2, 3, 4, 5]
y1 = [2, 3, 5, 7, 11]
y2 = [1, 4, 9, 16, 25]
y3 = [3, 6, 9, 12, 15]
# 使用numpy来计算堆叠面积图的顶部和底部
y1_bottom = np.zeros(len(x))
y2_bottom = np.add(y1, y1_bottom)
y3_bottom = np.add(y2, y2_bottom)
# 绘制堆叠面积图
plt.figure(figsize=(10, 6))
plt.fill_between(x, y1_bottom, y1_bottom + y1, label='Series 1', alpha=0.5)
plt.fill_between(x, y2_bottom, y2_bottom + y2, label='Series 2', alpha=0.5)
plt.fill_between(x, y3_bottom, y3_bottom + y3, label='Series 3', alpha=0.5)
plt.legend(loc='upper left')
plt.title('Stacked Area Plot Example')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
结果展示: