logo

G2

  • 文档
  • 图表介绍
  • API
  • 图表示例
  • 主题
  • 周边生态
  • 所有产品antv logo arrow
  • 5.3.3
  • 快速上手
  • 简介
    • 什么是 G2
    • 在前端框架中使用
    • Spec 和 API
  • 核心概念
    • 图表(Chart)
      • G2 图表组成
      • 如何使用图表
    • 标记(Mark)
      • 概览
      • area
      • box
      • boxplot
      • cell
      • chord
      • density
      • gauge
      • heatmap
      • image
      • interval
      • line
      • lineX
      • lineY
      • link
      • liquid
      • sunburst
      • point
      • polygon
      • range
      • rangeX
      • rangeY
      • rect
      • shape
      • text
      • vector
      • wordCloud
    • 视图(View)
    • 数据(Data)
      • 概览
      • custom
      • ema
      • fetch
      • filter
      • fold
      • inline
      • join
      • kde
      • log
      • map
      • pick
      • rename
      • slice
      • sort
      • sortBy
    • 编码(Encode)
    • 比例尺(Scale)
      • 概览
      • band
      • linear
      • log
      • ordinal
      • point
      • quantile
      • quantize
      • sqrt
      • threshold
      • time
      • pow
    • 转换(Transform)
      • 概览
      • bin
      • binX
      • diffY
      • dodgeX
      • flexX
      • group
      • groupColor
      • groupX
      • groupY
      • jitter
      • jitterX
      • jitterY
      • normalizeY
      • pack
      • sample
      • select
      • selectX
      • selectY
      • sortColor
      • sortX
      • sortY
      • stackEnter
      • stackY
      • symmetryY
    • 坐标系(Coordinate)
      • 概览
      • fisheye
      • parallel
      • polar
      • theta
      • transpose
      • radial
      • cartesian3D
      • helix
    • 样式(Style)
    • 动画(Animate)
      • 概览
      • fadeIn
      • fadeOut
      • growInX
      • growInY
      • morphing
      • pathIn
      • scaleInX
      • scaleInY
      • scaleOutX
      • scaleOutY
      • waveIn
      • zoomIn
      • zoomOut
    • 状态(State)
    • 交互(Interaction)
      • 概览
      • brushAxisHighlight
      • brushHighlight
      • brushXHighlight
      • brushYHighlight
      • brushFilter
      • brushXFilter
      • brushYFilter
      • chartIndex
      • elementHighlight
      • elementHighlightByColor
      • elementHighlightByX
      • elementSelect
      • elementSelectByColor
      • elementSelectByX
      • fisheye
      • legendFilter
      • legendHighlight
      • poptip
      • scrollbarFilter
      • sliderFilter
    • 复合(Composition)
      • 概览
      • facetCircle
      • facetRect
      • repeatMatrix
      • spaceFlex
      • spaceLayer
      • timingKeyframe
    • 主题(Theme)
      • 概览
      • academy
      • classic
      • classicDark
    • 事件(Event)
    • 颜色映射(Color)
  • 图表 API
  • 图表组件
    • 标题(Title)
    • 坐标轴(Axis)
    • 图例(Legend)
    • 滚动条(Scrollbar)
    • 缩略轴(Slider)
    • 提示信息(Tooltip)
    • 数据标签(Label)
  • 进阶主题
    • 关系图(Graph)
      • forceGraph
      • pack
      • sankey
      • tree
      • treemap
    • 地图(Geo)
      • geoPath
      • geoView
    • 3D 图表(3D Chart)
      • 绘制 3D 图表
      • point3D
      • line3D
      • interval3D
      • surface3D
    • 插件扩展(Plugin)
      • renderer
      • rough
      • lottie
      • a11y
    • 按需打包
    • 设置纹理
    • 服务端渲染(SSR)
    • Spec 函数表达式支持 (5.3.0 支持)
  • 版本特性
    • 新版本特性
    • v4 升级 v5 指南
  • 常见问题 FAQ

gauge

上一篇
density
下一篇
heatmap

Resources

Ant Design
Galacea Effects
Umi-React 应用开发框架
Dumi-组件/文档研发工具
ahooks-React Hooks 库

社区

体验科技专栏
seeconfSEE Conf-蚂蚁体验科技大会

帮助

GitHub
StackOverflow

more products更多产品

Ant DesignAnt Design-企业级 UI 设计语言
yuque语雀-知识创作与分享工具
EggEgg-企业级 Node 开发框架
kitchenKitchen-Sketch 工具集
GalaceanGalacean-互动图形解决方案
xtech蚂蚁体验科技
© Copyright 2025 Ant Group Co., Ltd..备案号:京ICP备15032932号-38

Loading...

概述

gauge 用于创建仪表盘,它是一种常见的可视化图表,用于展示数据的进度、比例或比较情况。

典型应用场景:

  • 业务指标:销售额达成率、用户增长进度;
  • 系统监控:CPU/内存使用率、磁盘容量预警;
  • 设备仪表:车辆时速表、温度计模拟。

import { Chart } from '@antv/g2';
const chart = new Chart({
container: 'container',
});
chart.options({
type: 'gauge', // 设置图表的类型为仪表盘
data: {
value: {
target: 120, // 仪表盘的目标值
total: 400, // 仪表盘的总值
name: 'score', // 仪表盘数据的名称
},
},
});
chart.render();

选项

属性描述类型默认值必选
data定义仪表盘的数值、目标值及分类信息,通过数据绑定驱动表盘指针位置、颜色映射及多仪表分面展示data-✓
encode配置 gauge 标记的视觉通道,包括x、y、color等,用于指定视觉元素属性和数据之间的关系encode-
scale配置 gauge 标记的比例尺,包括y、size等scale-
style配置图形样式和标签样式style-

data

data定义仪表盘的数值、目标值及分类信息,通过数据绑定驱动表盘指针位置、颜色映射及多仪表分面展示。

属性描述类型默认值必选
target设置仪表盘指针的目标值number-
total设置仪表盘刻度的最大范围值number-
percent设置仪表盘指针指向的百分比(配置percent时,target、total值会失效,thresholds请设置在合理区间,否则会造成渲染错误 )number-
thresholds设置仪表盘刻度阈值区间number[]-

更多的data配置,可以查查看 data 介绍页面。

encode

配置 gauge 标记的视觉通道,定义数据字段与视觉属性之间映射关系的重要配置,它决定了数据如何转化为视觉表现。

属性描述类型默认值必选
x绑定 gauge 标记的 x 属性通道,一般是 data 中的时间或有序名词字段encode'x'
y绑定 gauge 标记的 y 属性通道,一般是 data 中的数值或数组字段encode'y'
color绑定 gauge 标记的 color 属性通道,如果将数据字段映射到颜色通道,会对数据进行分组,将数据拆分成多个不同颜色的区域encode'color'

更多的encode配置,可以查查看 encode 介绍页面。

scale

scale用于定义数据如何映射到视觉属性(如颜色、大小、形状等)。

属性描述类型默认值必选
y定义数据字段到 Y 轴视觉位置的映射规则scale{domain: [0, percent ? 1 : total]}
color定义仪表盘刻度颜色的映射规则scale{range: ['#30BF78', '#D0D0D0']}

color

颜色的分布与 data 中的数据相关。这里的颜色可以设置为渐变色,用于配置渐变色的仪表盘。

  • 只有target或者percent,color参数range可以由两个颜色参数组成,在仪表盘刻度会由这两个颜色将会将仪表盘刻度分成两段

import { Chart } from '@antv/g2';
const chart = new Chart({
container: 'container',
});
chart.options({
type: 'gauge',
data: {
value: {
target: 120,
total: 400,
name: 'score',
},
},
scale: {
color: { range: ['#FAAD14', 'green'] },
},
});
chart.render();
  • 设置了thresholds,color参数range的颜色与thresholds的长度一致,仪表盘刻度会被thresholds中的值分段,并填充scale参数color对应位置的色彩

import { Chart } from '@antv/g2';
const chart = new Chart({
container: 'container',
});
chart.options({
type: 'gauge',
data: {
value: {
target: 120,
total: 400,
name: 'score',
thresholds: [100, 200, 400],
},
},
scale: {
color: { range: ['#F4664A', '#FAAD14', 'green'] },
},
});
chart.render();

更多的scale配置,可以查查看 scale 介绍页面。

style

style 用于设置图表元素的外观样式,包括填充颜色、边框样式、阴影效果等。

属性描述类型默认值必选
arc配置仪表盘圆弧的样式arc详见 arc
pin配置仪表盘指针轴心的样式pin详见 pin
pointer配置仪表盘指针的样式pointer详见 pointer
text配置仪表盘中心文字的样式text详见 text

复合图形标记需要通过不同的前缀来区分图形的配置。

arc

通过 arc 前缀配置仪表盘圆弧的样式。

属性描述类型默认值必选
arcShape仪表盘圆弧形状'rect' |'hollow'|'round''rect'
arcFill仪表盘圆弧填充颜色string | (datum, index, data) => string-
arcFillOpacity仪表盘圆弧填充透明度number | (datum, index, data) => number-
arcStroke仪表盘圆弧描边颜色string | (datum, index, data) => string-
arcStrokeOpacity仪表盘圆弧描边透明度number | (datum, index, data) => number-
arcLineHeight仪表盘圆弧行高number | (datum, index, data) => number-
arcLineWidth仪表盘圆弧描边宽度number | (datum, index, data) => number-
arcLineDash仪表盘圆弧虚线配置[number,number] | (datum, index, data) => [number , number]-
arcOpacity仪表盘圆弧整体透明度number | (datum, index, data) => number-
arcShadowColor仪表盘圆弧阴影颜色string | (datum, index, data) => string-
arcShadowBlur仪表盘圆弧阴影模糊系数number | (datum, index, data) => number-
arcShadowOffsetX仪表盘圆弧阴影水平偏移number | (datum, index, data) => number-
arcShadowOffsetY仪表盘圆弧阴影垂直偏移number | (datum, index, data) => number-
arcCursor仪表盘圆弧鼠标样式string | (datum, index, data) => stringdefault

pin

通过 pin 前缀配置仪表盘指针轴心的样式。

属性描述类型默认值必选
pinR仪表盘指针轴心半径大小number | (datum, index, data) => number10
pinFill仪表盘指针轴心填充颜色string | (datum, index, data) => string'#fff'
pinFillOpacity仪表盘指针轴心填充透明度number | (datum, index, data) => number-
pinStroke仪表盘指针轴心描边颜色string | (datum, index, data) => string-
pinStrokeOpacity仪表盘指针轴心描边透明度number | (datum, index, data) => number-
pinLineHeight仪表盘指针轴心行高number | (datum, index, data) => number-
pinLineWidth仪表盘指针轴心描边宽度number | (datum, index, data) => number-
pinLineDash仪表盘指针轴心虚线配置[number,number] | (datum, index, data) => [number , number]-
pinOpacity仪表盘指针轴心整体透明度number | (datum, index, data) => number-
pinShadowColor仪表盘指针轴心阴影颜色string | (datum, index, data) => string-
pinShadowBlur仪表盘指针轴心阴影模糊系数number | (datum, index, data) => number-
pinShadowOffsetX仪表盘指针轴心阴影水平偏移number | (datum, index, data) => number-
pinShadowOffsetY仪表盘指针轴心阴影垂直偏移number | (datum, index, data) => number-
pinCursor仪表盘指针轴心鼠标样式string | (datum, index, data) => stringdefault

pointer

通过 pointer 前缀配置仪表盘指针的样式。

属性描述类型默认值必选
pointerShape仪表盘指针形状'line' |(points, value, coordinate, theme) => DisplayObject'line'
pointerStroke仪表盘指针描边颜色string | (datum, index, data) => string-
pointerStrokeOpacity仪表盘指针描边透明度number | (datum, index, data) => number-
pointerLineWidth仪表盘指针线宽number | (datum, index, data) => number-
pointerLineDash仪表盘指针虚线配置[number,number] | (datum, index, data) => [number , number]-
pointerOpacity仪表盘指针整体透明度number | (datum, index, data) => number-
pointerShadowColor仪表盘指针阴影颜色string | (datum, index, data) => string-
pointerShadowBlur仪表盘指针阴影模糊系数number | (datum, index, data) => number-
pointerShadowOffsetX仪表盘指针阴影水平偏移number | (datum, index, data) => number-
pointerShadowOffsetY仪表盘指针阴影垂直偏移number | (datum, index, data) => number-
pointerCursor仪表盘指针鼠标样式string | (datum, index, data) => stringdefault

text

通过 text 前缀配置仪表盘指示文本的样式。

属性描述类型默认值必选
textContent设置仪表盘中心指示文本内容string-
textX仪表盘中心指示文本 x 方向上的偏移量,可以设置为具体数值,也可以设置百分比number | string50%
textY仪表盘中心指示文本 y 方向上的偏移量 ,可以设置为具体数值,也可以设置百分比number | string60%
textFontSize仪表盘指示文本文字大小number | (datum, index, data) => number20
textFontFamily仪表盘指示文本字体string | (datum, index, data) => string-
textFontWeight仪表盘指示文本字重number | (datum, index, data) => number800
textTextAlign仪表盘指示文本对齐方式center | end | left | right | startcenter
textTextBaseline仪表盘指示文本基线对齐top | middle | bottom | alphabetic | hangingmiddle
textFill仪表盘指示文本颜色string | (datum, index, data) => string#888
textFillOpacity仪表盘指示文本透明度number | (datum, index, data) => number-
textStroke仪表盘指示文本描边色string | (datum, index, data) => string-
textStrokeOpacity仪表盘指示文本描边透明度number | (datum, index, data) => number-
textLineHeight仪表盘指示文本行高number | (datum, index, data) => number-
textLineWidth仪表盘指示文本描边宽度number | (datum, index, data) => number-
textLineDash仪表盘指示文本虚线配置[number,number] | (datum, index, data) => [number , number]-
textOpacity仪表盘指示文本整体透明度number | (datum, index, data) => number-
textShadowColor仪表盘指示文本阴影颜色string | (datum, index, data) => string-
textShadowBlur仪表盘指示文本阴影模糊number | (datum, index, data) => number-
textShadowOffsetX仪表盘指示文本阴影水平偏移number | (datum, index, data) => number-
textShadowOffsetY仪表盘指示文本阴影垂直偏移number | (datum, index, data) => number-
textCursor仪表盘指示文本鼠标样式string | (datum, index, data) => stringdefault

import { Chart } from '@antv/g2';
const chart = new Chart({
container: 'container',
});
chart.options({
type: 'gauge',
data: {
value: {
target: 159,
total: 400,
name: 'score',
// thresholds: [200, 400],
},
},
scale: {
color: {
range: ['l(0):0:#62CFF4 1:#2C67F2', 'l(0):0:#2C67F2 1:#00008B'],
},
y: {
range: [1, -0.5],
},
},
style: {
// 配置仪表盘指示文本样式
textContent: (target, total) => `占比:${(target / total) * 100}%`,
textFill: '#000',
textFontSize: 24,
textfontWeight: 300,
textX: '35%',
textY: '75%',
// 配置仪表盘指针样式
pointerStroke: '#c5c5c5',
pointershadowColor: '#333333',
pointershadowBlur: 10,
pointershadowOffsetX: 5,
pointershadowOffsetY: 5,
// 配置仪表盘指针轴心样式
pinStroke: '#d5d5d5',
pinFill: '#d5d5d5',
pinlinewidth: 6,
pinshadowColor: '#333333',
pinshadowBlur: 30,
pinshadowOffsetX: 5,
pinshadowOffsetY: 5,
// 配置仪表盘圆弧样式
arcLineWidth: 2,
arcStroke: '#fff',
arcshadowColor: '#333333',
arcshadowBlur: 30,
arcshadowOffsetX: 5,
arcshadowOffsetY: 5,
},
legend: false,
});
chart.render();

更多的style配置,可以查看 style 介绍页面。

尝试一下:

示例

自定义仪表盘指针形状