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

如何为TopoJSON文件添加标签并在Power BI自定义形状地图中显示?

在Power BI自定义TopoJSON形状地图中添加可交互标签的解决方案

我通过TopoJSON文件在Power BI中制作了一个工作部门的自定义形状地图(非地理地图),点击区域可对数据矩阵进行过滤。但直接在地图上方添加文本框会阻断区域的交互功能,因此需要通过修改TopoJSON文件实现内置可交互标签。

现有TopoJSON代码片段

{
    "type": "Topology",
    "arcs": [
        [[-61.25,1000],[700,0],[0,-70],[-700.5,0],[0,70]],
        [[658.75,1000],[700,0],[0,-70],[-700.5,0],[0,70]],
        [[1378.75,1000],[700.5,0],[0,-70],[-700.5,0],[0,70]],
        [[2098.75,1000],[700.5,0],[0,-70],[-700.5,0],[0,70]],
        // 剩余arcs代码省略
    ],
    "transform": {
        "scale": [0.000001, 0.000001],
        "translate": [0, 0]
    },
    "objects": {
        "NameHere": {
            "type": "GeometryCollection",
            "geometries": [
                {
                    "arcs": [[0]],
                    "type": "Polygon",
                    "properties": {"id": "Department 1"}
                },
                {
                    "arcs": [[1]],
                    "type": "Polygon",
                    "properties": {"id": "Department 2"}
                },
                // 剩余geometries代码省略
            ]
        }
    }
}

自定义形状地图效果

自定义形状地图效果

解决方案

1. 修改TopoJSON添加标签属性

在每个Polygon的properties对象中新增label字段,填入需要显示的标签内容:

{
    "arcs": [[0]],
    "type": "Polygon",
    "properties": {"id": "Department 1", "label": "部门1:运营管理"}
}

重复此操作,为所有部门区域添加对应的标签。

2. 在Power BI中配置标签显示

  • 将修改后的TopoJSON重新导入Power BI的Shape Map视觉对象
  • 进入视觉对象的格式面板,找到数据标签选项并启用
  • 在标签内容中选择新增的label字段,同时调整标签的字体大小、颜色和位置(建议设置为居中显示)
  • 完成配置后,标签会直接显示在对应区域上,且不会阻断区域的点击过滤功能

3. 备选方案:使用第三方自定义视觉

如果原生Shape Map的标签功能无法满足需求,可以使用Synoptic Panel这类第三方自定义视觉对象:

  • 在Power BI Marketplace中安装Synoptic Panel
  • 导入修改后的TopoJSON文件,直接在配置界面中选择label字段作为显示标签
  • 该视觉对象支持更灵活的样式调整,且完全保留区域的交互过滤能力

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 20:35:59