堆栈图(Stacked Chart)是一种常见的数据可视化方式,用于显示不同类别的数据在同一图表中的累积效果。你可以使用多种工具和库来创建堆栈图,例如 Matplotlib(Python)、ggplot2(R)、Excel 等。下面我将展示如何使用 Python 的 Matplotlib 库来创建一个堆栈图。
假设你有以下分类数据:
import pandas as pd
data = {
'Category': ['A', 'B', 'C', 'D'],
'2018': [10, 15, 20, 25],
'2019': [20, 25, 30, 35],
'2020': [30, 35, 40, 45]
}
df = pd.DataFrame(data)
matplotlib.pyplot
和 pandas
库。
plt.figure(figsize=(10, 6))
设置图表的大小。
plt.bar
创建堆栈图的每一层。bottom
参数用于指定每一层的起始位置,以实现堆叠效果。plt.title
、plt.xlabel
和 plt.ylabel
添加图表的标题和轴标签。
plt.legend
添加图例。
plt.show
显示图表。
运行上述代码后,你将看到一个堆栈图,其中每个类别的值按年份堆叠在一起。
以下是完整的代码示例:
import matplotlib.pyplot as plt
import pandas as pd
# 示例数据
data = {
'Category': ['A', 'B', 'C', 'D'],
'2018': [10, 15, 20, 25],
'2019': [20, 25, 30, 35],
'2020': [30, 35, 40, 45]
}
df = pd.DataFrame(data)
# 设置图表的大小
plt.figure(figsize=(10, 6))
# 创建堆栈图
plt.bar(df['Category'], df['2018'], label='2018')
plt.bar(df['Category'], df['2019'], bottom=df['2018'], label='2019')
plt.bar(df['Category'], df['2020'], bottom=df['2018'] + df['2019'], label='2020')
# 添加标题和标签
plt.title('Stacked Bar Chart Example')
plt.xlabel('Category')
plt.ylabel('Values')
# 添加图例
plt.legend()
# 显示图表
plt.show()
通过上述步骤,你可以使用分类数据创建一个堆栈图。你可以根据需要调整数据和图表的样式,以满足特定的需求。
领取专属 10元无门槛券
手把手带您无忧上云