当前位置:首页>python>python数据可视化技巧的100个练习 -- 7. 季度销售堆叠柱状图

python数据可视化技巧的100个练习 -- 7. 季度销售堆叠柱状图

  • 2026-09-02 15:58:40
python数据可视化技巧的100个练习 -- 7. 季度销售堆叠柱状图
重要性★★★★☆
难度★★★☆☆
你是一家零售公司的数据分析师。你的经理要求你创建一个堆叠柱状图,以可视化 2023 年三种不同产品(产品 A、产品 B 和产品 C)的季度销售情况。数据应在代码中生成。你的任务是编写一个 Python 脚本,生成这些数据,并创建一个堆叠柱状图来显示它。
该图表应具有:
  • x 轴表示季度(Q1、Q2、Q3、Q4)。
  • y 轴表示销售金额。
  • 每种产品使用不同的颜色。
  • 图例用于区分不同产品。

【数据生成代码示例】

import pandas as pdimport numpy as npquarters = ['Q1', 'Q2', 'Q3', 'Q4']products = ['Product A', 'Product B', 'Product C']data = {product: np.random.randint(1000, 5000, size=4) for product in products}data['Quarter'] = quartersdf = pd.DataFrame(data)

【图表答案】

【代码答案】

import pandas as pdimport numpy as npimport matplotlib.pyplot as pltquarters = ['Q1', 'Q2', 'Q3', 'Q4']products = ['Product A', 'Product B', 'Product C']data = {product: np.random.randint(1000, 5000, size=4) for product in products}data['Quarter'] = quartersdf = pd.DataFrame(data)fig, ax = plt.subplots()ax.bar(df['Quarter'], df['Product A'], label='Product A')ax.bar(df['Quarter'], df['Product B'], bottom=df['Product A'], label='Product B')ax.bar(df['Quarter'], df['Product C'], bottom=df['Product A']+df['Product B'], label='Product C')ax.set_xlabel('Quarters')ax.set_ylabel('Sales Amount')ax.set_title('2023 年各季度产品销售额')ax.legend()plt.show()
要创建季度销售的堆叠柱状图,我们首先生成数据。
我们使用 numpy 库为四个季度的三种产品创建随机销售数据。
数据存储在一个字典中,然后转换为 pandas DataFrame,便于操作。
接下来,我们使用 matplotlib 库创建堆叠柱状图。
我们使用 plt.subplots() 初始化一个图形和坐标轴。
然后,我们使用 ax.bar() 函数绘制每种产品的销售数据。
bottom 参数用于将柱子堆叠在一起。
例如,产品 B 的销售额堆叠在产品 A 之上,产品 C 堆叠在二者之上。
我们设置 x 轴和 y 轴的标签,并为图表添加标题。
最后,我们添加图例以区分不同产品,并使用 plt.show() 显示图表。

【小知识】

  • 堆叠柱状图适用于比较不同类别之间的总值,以及各自对总值的贡献。
  • pandas 库广泛用于 Python 中的数据操作和分析,是准备可视化数据的强大工具。
  • matplotlib 是 Python 中最受欢迎的绘图库之一,以其灵活性和丰富的自定义选项而闻名。

最新文章

随机文章