antv-f2

star 0

Use when building mobile-first visualization charts with AntV F2, creating JSX-based charts including line, bar, pie, area, scatter, radar, candlestick, gauge, treemap, or sunburst charts

mingng18 By mingng18 schedule Updated 1/14/2026

name: antv-f2 description: Use when building mobile-first visualization charts with AntV F2, creating JSX-based charts including line, bar, pie, area, scatter, radar, candlestick, gauge, treemap, or sunburst charts

AntV F2 Charting Library

Overview

AntV F2 is a mobile-first, high-performance charting library based on the Grammar of Graphics. It uses JSX syntax for declarative chart creation.

When to Use

  • Building mobile visualization charts
  • Creating interactive charts with touch gestures
  • Implementing charts in React, Vue, or mini-programs
  • Need lightweight canvas-based charting

Quick Reference

Core Components

Component Purpose Example
Canvas Root container <Canvas context={ctx}>
Chart Data/scale/coord config <Chart data={data}>
Line Line/curve charts <Line x="date" y="value" />
Interval Bar/pie/donut charts <Interval x="cat" y="val" />
Point Scatter/bubble charts <Point x="x" y="y" size="val" />
Area Area charts <Area x="date" y="value" />
Candlestick K-line charts <Candlestick x="date" y="ohlc" />
Axis Axis configuration <Axis field="date" />
Tooltip Hover/press tooltip <Tooltip showCrosshairs />
Legend Series legend <Legend position="top" />
ScrollBar Pan/zoom control <ScrollBar mode="x" range={[0.5,1]} />

Standalone Charts

Component Purpose
Gauge Progress/meter display
Treemap Hierarchical rectangles
Sunburst Hierarchical radial chart

Chart Types Quick Mapping

Chart Type Components Key Props
Line chart Line x, y, color
Column chart Interval x, y
Bar chart Interval coord={{ transposed: true }}
Pie chart Interval coord={{ type: 'polar', transposed: true }}, adjust="stack"
Donut chart Same as pie Add innerRadius: 0.6 to coord
Radar chart Line + Point coord="polar"
Area chart Area + Line x, y
Scatter plot Point x, y, color, size
Stacked bar Interval adjust="stack"
Grouped bar Interval adjust="dodge"

Basic Structure

import { jsx, Canvas, Chart, Line, Axis, Tooltip } from '@antv/f2';

const data = [
  { date: '2023-01', value: 100 },
  { date: '2023-02', value: 150 },
];

const context = document.getElementById('container').getContext('2d');

const { props } = (
  <Canvas context={context} pixelRatio={window.devicePixelRatio}>
    <Chart data={data}>
      <Axis field="date" />
      <Axis field="value" />
      <Line x="date" y="value" />
      <Tooltip />
    </Chart>
  </Canvas>
);

const chart = new Canvas(props);
chart.render();

Common Patterns

Color Mapping

<Line color="#1890FF" />           // Fixed color
<Line color="category" />          // Field mapping
<Line color={["type", ["red", "blue"]]} />  // Custom range
<Line color={{ field: "val", callback: v => v > 50 ? "red" : "blue" }} />

Coordinate Systems

// Cartesian (default)
<Chart coord={{ type: 'rect', transposed: false }}>

// Polar (pie/radar)
<Chart coord={{ type: 'polar', transposed: true, innerRadius: 0.5 }}>

Data Adjustment

<Interval adjust="stack" />   // Stacked
<Interval adjust="dodge" />   // Grouped

Scale Configuration

<Chart
  scale={{
    value: { min: 0, max: 100, tickCount: 5, formatter: v => v + '%' },
    date: { type: 'timeCat', mask: 'YYYY-MM-DD' },
  }}
>

References

Topic Reference
Full API Documentation @reference.md
Line charts @references/line.md
Area charts @references/area.md
Column charts @references/column.md
Bar charts (horizontal) @references/bar.md
Pie/Donut charts @references/pie.md
Scatter/Bubble charts @references/point.md
Radar charts @references/radar.md
Funnel charts @references/funnel.md
Candlestick (K-line) @references/candlestick.md
Treemap/Sunburst @references/relation.md
Axis/Guide/Legend @references/component.md

Common Mistakes

Mistake Fix
Blurry on mobile Set pixelRatio={window.devicePixelRatio}
Pie chart not circular Use coord={{ type: 'polar', transposed: true }}
Missing legend Add <Legend /> and use color prop on geometry
ScrollBar not working Both mode and range are required
Animation too fast/slow Configure animation={{ appear: { duration: 800 } }}
Axis labels overlapping Use labelAutoRotate={true} or labelAutoHide={true}
Install via CLI
npx skills add https://github.com/mingng18/antv-f2-skills --skill antv-f2
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator