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

Vega&Power BI Deneb雷达图定制修改技术求助

Vega雷达图定制解决方案

核心修改点及代码调整

1. 将1号类别置于12点钟位置 + 2. 类别按1-12顺时针排列

在Vega的角度刻度配置中,直接指定起始角度与排序规则:

"scales": [
  {
    "name": "angle",
    "type": "point",
    "domain": {
      "data": "categories", 
      "field": "name", 
      "sort": {"op": "number", "order": "ascending"} // 强制按数字升序排列类别
    },
    "range": {"start": -90, "stop": 270}, // 从-90°(对应12点钟)开始,顺时针覆盖360°
    "padding": 0
  }
]

如果是使用projection方式定义极坐标,调整角度计算表达式:

"projection": {
  "type": "polar",
  "angle": {"expr": "-90 + (datum.index * 30)"}, // 每个类别间隔30°,起始点12点钟
  "radius": {"expr": "scale('radius', datum.value)"}
}

3. 径向网格线设置为虚线样式

找到径向网格线的mark配置,添加strokeDash属性定义虚线规则:

"marks": [
  {
    "type": "line",
    "name": "radial-grid",
    "from": {"data": "grid"},
    "encode": {
      "enter": {
        "x": {"field": "x"},
        "y": {"field": "y"},
        "stroke": {"value": "#ccc"},
        "strokeDash": {"value": [4, 2]}, // 线段长度4px,间隔2px的虚线
        "strokeWidth": {"value": 1}
      }
    }
  }
]

4. 数据点旁数值显示(已实现,补充优化建议)

若需优化数值位置避免遮挡,可调整文本偏移:

{
  "type": "text",
  "from": {"data": "values"},
  "encode": {
    "enter": {
      "x": {"scale": "angle", "field": "category"},
      "y": {"scale": "radius", "field": "value"},
      "text": {"field": "value", "format": ".1f"}, // 自定义数值精度
      "dx": {"expr": "scale('angle', datum.category) > 180 ? -10 : 10"}, // 左右偏移适配类别位置
      "dy": {"expr": "scale('angle', datum.category) === 90 ? -8 : (scale('angle', datum.category) === 270 ? 8 : 0)"}, // 上下偏移
      "fill": {"value": "#333"},
      "fontSize": {"value": 10}
    }
  }
}

整合后的关键配置片段

{
  "width": 400,
  "height": 400,
  "data": [
    {"name": "categories", "values": [{"name": "1"}, {"name": "2"}, ..., {"name": "12"}]},
    {"name": "values", "values": [{"category": "1", "value": 80}, ...]}
  ],
  "scales": [
    {
      "name": "angle",
      "type": "point",
      "domain": {"data": "categories", "field": "name", "sort": {"op": "number", "order": "ascending"}},
      "range": {"start": -90, "stop": 270},
      "padding": 0
    },
    {
      "name": "radius",
      "type": "linear",
      "domain": {"data": "values", "field": "value"},
      "range": [0, 180],
      "zero": true
    }
  ],
  "marks": [
    {
      "type": "line",
      "name": "radial-grid",
      "from": {"data": "grid"},
      "encode": {
        "enter": {
          "x": {"field": "x"},
          "y": {"field": "y"},
          "stroke": {"value": "#e0e0e0"},
          "strokeDash": {"value": [3, 3]},
          "strokeWidth": {"value": 1}
        }
      }
    },
    // 类别标签
    {
      "type": "text",
      "from": {"data": "categories"},
      "encode": {
        "enter": {
          "x": {"scale": "angle", "field": "name", "offset": 20},
          "y": {"scale": "angle", "field": "name", "offset": 20},
          "text": {"field": "name"},
          "fill": {"value": "#333"},
          "fontSize": {"value": 12}
        }
      }
    },
    // 数据点与数值
    {
      "type": "symbol",
      "from": {"data": "values"},
      "encode": {
        "enter": {
          "x": {"scale": "angle", "field": "category"},
          "y": {"scale": "radius", "field": "value"},
          "fill": {"value": "#2196F3"},
          "size": {"value": 100}
        }
      }
    },
    {
      "type": "text",
      "from": {"data": "values"},
      "encode": {
        "enter": {
          "x": {"scale": "angle", "field": "category"},
          "y": {"scale": "radius", "field": "value"},
          "text": {"field": "value", "format": ".0f"},
          "dx": {"expr": "scale('angle', datum.category) > 180 ? -8 : 8"},
          "fill": {"value": "#000"},
          "fontSize": {"value": 10}
        }
      }
    }
  ]
}

若你的Power BI Vega配置有数据源绑定特殊逻辑,可贴出当前完整配置代码,进一步针对性调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 15:56:25