Power BI中如何将两款产品的双轴图表合并叠加展示
解决方案:合并两款产品的销售与均价叠加图表
方法一:Excel操作步骤
- 整理数据:把两款产品的
Month、sales、average price整理到同一张表格,比如列顺序设为:Month、产品A_sales、产品A_price、产品B_sales、产品B_price - 生成基础图表:选中
Month列和所有sales列,插入折线图(或柱状图,按需选择) - 添加次Y轴:右键点击任意一条price数据系列(比如产品A_price),选择「设置数据系列格式」,在「系列选项」中勾选「次坐标轴」
- 重复添加另一款产品的price系列到次Y轴,最后调整图表的坐标轴标签、图例、颜色样式,让两款产品的销售和均价数据区分清晰
方法二:Python(Matplotlib + Pandas)代码实现
假设你的数据已整理为包含Month、Product、Sales、AveragePrice列的DataFrame,以下是完整实现代码:
import pandas as pd import matplotlib.pyplot as plt # 示例数据(替换为你的实际数据) data = { 'Month': ['Jan', 'Feb', 'Mar', 'Apr']*2, 'Product': ['Product A']*4 + ['Product B']*4, 'Sales': [1200, 1500, 1300, 1600, 900, 1100, 1000, 1200], 'AveragePrice': [25, 24, 26, 23, 35, 34, 36, 33] } df = pd.DataFrame(data) # 筛选目标产品 prod_a_data = df[df['Product'] == 'Product A'] prod_b_data = df[df['Product'] == 'Product B'] # 创建画布与主坐标轴 fig, ax1 = plt.subplots(figsize=(10, 6)) # 主Y轴绘制两款产品的销售额 ax1.plot(prod_a_data['Month'], prod_a_data['Sales'], label='Product A - 销售额', color='#1f77b4', marker='o') ax1.plot(prod_b_data['Month'], prod_b_data['Sales'], label='Product B - 销售额', color='#2ca02c', marker='s') ax1.set_xlabel('Month') ax1.set_ylabel('销售额', color='#333333') ax1.tick_params(axis='y', labelcolor='#333333') ax1.legend(loc='upper left') # 创建次坐标轴并绘制均价 ax2 = ax1.twinx() ax2.plot(prod_a_data['Month'], prod_a_data['AveragePrice'], label='Product A - 均价', color='#ff7f0e', marker='^', linestyle='--') ax2.plot(prod_b_data['Month'], prod_b_data['AveragePrice'], label='Product B - 均价', color='#d62728', marker='*', linestyle='--') ax2.set_ylabel('平均价格', color='#333333') ax2.tick_params(axis='y', labelcolor='#333333') ax2.legend(loc='upper right') # 调整布局并展示图表 plt.title('两款产品月度销售额与均价对比') plt.tight_layout() plt.show()
代码说明:
- 先通过筛选获取两款产品的独立数据
- 主坐标轴绘制销售额数据,次坐标轴绘制均价数据
- 用不同颜色、标记、线型区分两款产品的不同指标,避免混淆
内容的提问来源于stack exchange,提问作者moongdi
相关产品推荐
相关产品推荐

