logo

G2

  • Chart Gallery
  • Docs
  • Examples
  • Theme
  • Ecosystem
  • Productsantv logo arrow
  • 5.3.3
  • Get Started
  • Introduction
    • What is G2
    • Using in Frontend Frameworks
    • Experimental Spec API
  • Chart API
  • Core Concepts
    • Chart
      • Components of G2 Charts
      • How to Use Charts
    • Mark
      • Overview
      • 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
      • connector
      • wordCloud
    • View
    • Data
      • Overview
      • custom
      • ema
      • fetch
      • filter
      • fold
      • inline
      • join
      • kde
      • log
      • map
      • pick
      • rename
      • slice
      • sort
      • sortBy
    • Encode
    • Scale
      • Overview
      • band
      • linear
      • log
      • ordinal
      • point
      • quantile
      • quantize
      • sqrt
      • threshold
      • time
      • pow
    • Transform
      • Overview
      • 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
      • Overview
      • fisheye
      • parallel
      • polar
      • theta
      • transpose
      • radial
      • cartesian3D
      • helix
    • Style
    • Animate
      • Overview
      • fadeIn
      • fadeOut
      • growInX
      • growInY
      • morphing
      • pathIn
      • scaleInX
      • scaleInY
      • scaleOutX
      • scaleOutY
      • waveIn
      • zoomIn
      • zoomOut
    • State
    • Interaction
      • Overview
      • brushAxisHighlight
      • brushHighlight
      • brushXHighlight
      • brushYHighlight
      • brushFilter
      • brushXFilter
      • brushYFilter
      • chartIndex
      • elementHighlight
      • elementHighlightByColor
      • elementHighlightByX
      • elementSelect
      • elementSelectByColor
      • elementSelectByX
      • legendFilter
      • legendHighlight
      • poptip
      • scrollbarFilter
      • sliderFilter
      • fisheye
    • Composition
      • Overview
      • facetCircle
      • facetRect
      • repeatMatrix
      • spaceFlex
      • spaceLayer
      • timingKeyframe
    • Theme
      • Overview
      • academy
      • classic
      • classicDark
    • Events
    • Color Mapping
  • Chart Component
    • Title
    • Axis
    • Legend
    • Scrollbar
    • Slider
    • Tooltip
    • Data Label
  • Extra Topics
    • Graph
      • forceGraph
      • pack
      • sankey
      • tree
      • treemap
    • Geo
      • geoPath
      • geoView
    • 3D
      • Draw 3D Chart
      • point3D
      • line3D
      • interval3D
      • surface3D
    • Plugin
      • renderer
      • rough
      • lottie
      • a11y
    • Package on demand
    • Set pattern
    • Server-Side Rendering (SSR)
    • Spec Function Expression Support (Available in 5.3.0)
  • Whats New
    • New Version Features
    • Migration from v4 to v5
  • Frequently Asked Questions (FAQ)

chartIndex

Previous
brushYFilter
Next
elementHighlight

Resources

Ant Design
Galacea Effects
Umi-React Application Framework
Dumi-Component doc generator
ahooks-React Hooks Library

Community

Ant Financial Experience Tech
seeconfSEE Conf-Experience Tech Conference

Help

GitHub
StackOverflow

more productsMore Productions

Ant DesignAnt Design-Enterprise UI design language
yuqueYuque-Knowledge creation and Sharing tool
EggEgg-Enterprise-class Node development framework
kitchenKitchen-Sketch Tool set
GalaceanGalacean-互动图形解决方案
xtechLiven Experience technology
© Copyright 2025 Ant Group Co., Ltd..备案号:京ICP备15032932号-38

Loading...

Overview

chartIndex is an interactive component used to view the relative trends of line charts compared to a specific time point.

example
import { Chart } from '@antv/g2';
const chart = new Chart({
container: 'container',
paddingLeft: 50,
});
chart.options({
type: 'line',
data: {
type: 'fetch',
value: 'https://assets.antv.antgroup.com/g2/indices.json',
},
encode: {
x: (d) => new Date(d.Date),
y: 'Close',
color: 'Symbol',
key: 'Symbol',
title: (d) => d.Date.toLocaleString(),
},
axis: {
y: {
title: '↑ Change in price (%)',
labelAutoRotate: false,
},
},
scale: {
y: {
type: 'log',
},
},
label: {
text: 'Symbol',
selector: 'last',
style: {
fontSize: 10,
},
},
interaction: {
chartIndex: {
ruleStroke: '#aaa',
labelDx: 5,
labelTextAlign: 'center',
labelStroke: '#fff',
labelLineWidth: 5,
labelFormatter: (d) => `${d.toLocaleDateString()}`,
},
},
});
chart.render();

Usage

chartIndex is configured through configuration options:

({
type: 'line',
interaction: {
chartIndex: {},
},
});

Configuration Level

Interaction can be configured at the Mark level:

({
type: 'line',
interaction: { chartIndex: {} },
});

It can also be configured at the View level. Interactions declared on the view will be passed to marks declared in children. If the mark has declared the corresponding interaction, they will be merged; otherwise, it won't be affected.

({
type: 'view',
children: [
{
type: 'line',
interaction: { chartIndex: {} },
},
],
});

Configuration Options

PropertyDescriptionTypeDefaultRequired
ruleStrokeColor of the indicator linestringblack
ruleLineWidthWidth of the indicator linenumber1
ruleLineDashDash configuration. First value is dash length, second is gap length. Setting ruleLineDash to [0,0] means no stroke.[number,number]
ruleStrokeOpacityOpacity of the indicator linenumber
ruleOpacityOverall opacitynumber
ruleShadowColorIndicator line shadow colorstring
ruleShadowBlurIndicator line Gaussian blur coefficientnumber
ruleShadowOffsetXHorizontal distance of shadow from indicator linenumber
ruleShadowOffsetYVertical distance of shadow from indicator linenumber
labelFontSizeText sizenumber
labelFontFamilyText fontstring
labelFontWeightFont weightnumber
labelLineHeightText line heightnumber
labelTextAlignSet the current alignment of text contentcenter | end | left | right | start
labelTextBaselineSet the current text baseline used when drawing texttop | middle | bottom | alphabetic | hanging
labelFillText fill colorstring
labelFillOpacityText fill opacitynumber
labelStrokeText strokestring
labelLineWidthText stroke widthnumber
labelLineDashStroke dash configuration. First value is dash length, second is gap length. Setting labelLineDash to [0,0] means no stroke.[number,number]
labelStrokeOpacityStroke opacitynumber
labelOpacityText overall opacitynumber
labelShadowColorText shadow colorstring
labelShadowBlurText shadow Gaussian blur coefficientnumber
labelShadowOffsetXSet horizontal distance of shadow from textnumber
labelShadowOffsetYSet vertical distance of shadow from textnumber
labelDxText offset in x directionnumber
labelDyText offset in y directionnumber
labelFormatterFormat dateFormatterFunction

Examples

Indicator Line and Text

import { Chart } from '@antv/g2';
const chart = new Chart({
container: 'container',
});
chart.options({
type: 'line',
autoFit: true,
data: {
type: 'fetch',
value: 'https://assets.antv.antgroup.com/g2/indices.json',
},
encode: {
x: (d) => new Date(d.Date),
y: 'Close',
color: 'Symbol',
key: 'Symbol',
title: (d) => d.Date.toLocaleString(),
},
axis: {
y: {
title: '↑ Change in price (%)',
labelAutoRotate: false,
},
},
scale: {
y: {
type: 'log',
},
},
label: {
text: 'Symbol',
selector: 'last',
style: {
fontSize: 10,
},
},
interaction: {
tooltip: {
crosshairs: false, // Disable auxiliary lines
},
chartIndex: {
ruleStroke: 'pink',
ruleLineWidth: 8,
ruleLineDash: [4, 8],
ruleShadowColor: 'green',
ruleShadowBlur: 5,
ruleShadowOffsetX: 5,
ruleShadowOffsetY: 5,
ruleOpacity: 0.9,
labelDy: 30,
labelFontSize: 20,
labelTextAlign: 'center',
labelFill: 'red',
labelStroke: 'yellow',
labelLineWidth: 2,
labelFormatter: (d) => `${d.toLocaleDateString()}`,
},
},
});
chart.render();