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

在PowerBI中将散点图转换为密度热力图的实现方法

解决方案

一、PowerBI内置实现方式

  • 若你的散点数据为地理经纬度坐标,可直接使用PowerBI自带的「地图」视觉对象:
    1. 将经纬度字段分别拖入「纬度」「经度」区域
    2. 在格式面板中切换为「热力图」类型,调整半径、透明度等参数,即可生成类似参考图的密度热力效果
  • 若为非地理坐标的笛卡尔散点,PowerBI原生无对应视觉对象,但可通过自定义视觉实现:在PowerBI Marketplace搜索「Density Heatmap」,安装后导入数据即可生成笛卡尔坐标系下的密度热力图

二、R脚本方案(PowerBI中调用)

  1. 准备包含X、Y轴数据的数据集,字段名示例为x和y
  2. 在PowerBI中选择「R脚本视觉对象」,将x和y字段拖入「值」区域
  3. 替换默认脚本为以下代码:
# 加载依赖库
library(ggplot2)

# 读取PowerBI传入的数据集
dataset <- dataset

# 生成密度热力图
ggplot(dataset, aes(x = x, y = y)) +
  stat_density_2d(aes(fill = after_stat(density)), geom = "raster", contour = FALSE) +
  scale_fill_viridis_c(option = "plasma") +
  theme_minimal() +
  labs(x = "X轴", y = "Y轴", fill = "密度")
  1. 运行脚本即可生成热力图,可通过调整stat_density_2d的h参数(控制带宽)优化密度显示效果

三、Python脚本方案(PowerBI中调用)

  1. 准备包含x、y字段的数据集
  2. 在PowerBI中选择「Python脚本视觉对象」,将x和y字段拖入「值」区域
  3. 替换默认脚本为以下代码:
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

# 读取PowerBI传入的数据
df = dataset

# 设置绘图风格
sns.set_style("white")

# 生成密度热力图
plt.figure(figsize=(10,6))
sns.kdeplot(data=df, x='x', y='y', fill=True, cmap="plasma", thresh=0, levels=100)
plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.title('密度热力图')

plt.show()
  1. 运行脚本后即可得到目标热力图,可调整kdeplot的levels(等高线层数)、cmap(配色方案)等参数优化显示效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 18:03:10