You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerBI中面积图标记旁显示PID文本及合并图表的技术问询

图表展示

可视化图表

图表说明

该可视化图表的Y轴为decimal属性,X轴为年份,PID通过图例标记表示。我将两个配置相同的可视化图表叠加,提高透明度以同时查看两者:底层面积图展示每年decimal属性的平均值,顶层图表展示各PID对应的年份与decimal属性值。

问题

  1. 希望在每个标记旁显示文本(即标记下方显示PID),已知悬停标记可查看PID及所有属性,但需直接显示该文本。
  2. 当前叠加图表的实现方式不够规范,希望将这些信息整合到单个图表中,请问在PowerBI环境中是否可行?可使用DAX、Python等工具,本人刚接触该软件。

问题1:标记旁显示PID文本

原生可视化实现

选顶层的标记类图表,在「格式」面板找到「数据标签」选项,开启后在「标签内容」里选择PID字段,还可以调整标签位置(比如设为「下方」)、字体大小等样式,就能直接在每个标记旁显示PID。

Python可视化实现

如果用Python绘图(如Matplotlib),可以通过text()函数逐个添加标签,示例代码:

import matplotlib.pyplot as plt
import pandas as pd

# 假设数据已加载到df,包含Year、decimal、PID列
plt.scatter(df['Year'], df['decimal'])
for idx, row in df.iterrows():
    plt.text(row['Year'], row['decimal'] - 0.1, row['PID'], fontsize=8)  # 偏移避免遮挡标记
# 后续绘制平均值面积图
plt.show()

问题2:整合为单个图表

完全可行,推荐两种方案:

方案1:原生组合图(无代码)

用Power BI自带的组合图:

  • 把「年份」拖到X轴;
  • 先计算年度平均值DAX公式:decimal年度平均值 = AVERAGE('你的表名'[decimal]),将这个字段拖到「面积图」的Y轴;
  • 把单个PID的「decimal」字段拖到「散点/标记」的Y轴,同时将PID拖到「图例」或「数据标签」;
  • 直接在界面调整样式即可完成整合,适合新手操作。

方案2:Python脚本整合

如果需要更灵活的样式,用Python可视化一次性输出整合图表,示例代码框架:

import matplotlib.pyplot as plt
import pandas as pd

# 获取Power BI传递的数据集
dataset = pd.DataFrame(dataset)

# 计算年度平均值
year_avg = dataset.groupby('Year')['decimal'].mean().reset_index()

# 绘制底层面积图
plt.fill_between(year_avg['Year'], year_avg['decimal'], alpha=0.3)
plt.plot(year_avg['Year'], year_avg['decimal'], label='年度平均值')

# 绘制顶层散点及PID标签
plt.scatter(dataset['Year'], dataset['decimal'], color='red', label='单个PID数据')
for idx, row in dataset.iterrows():
    plt.text(row['Year'], row['decimal'] - 0.1, row['PID'], fontsize=8)

plt.xlabel('年份')
plt.ylabel('decimal属性')
plt.legend()
plt.show()

内容的提问来源于stack exchange,提问作者BigWillieN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 06:42:10