简单饼图
import { Chart } from '@antv/g2';
const data = [
{ item: '事例一', count: 40, percent: 0.4 },
{ item: '事例二', count: 21, percent: 0.21 },
{ item: '事例三', count: 17, percent: 0.17 },
{ item: '事例四', count: 13, percent: 0.13 },
{ item: '事例五', count: 9, percent: 0.09 },
];
const chart = new Chart({
container: 'container',
autoFit: true,
});
chart.options({
type: 'interval',
coordinate: { type: 'theta', outerRadius: 0.8 },
data: data,
transform: [{ type: 'stackY' }],
encode: { y: 'percent', color: 'item' },
legend: {
color: { position: 'bottom', layout: { justifyContent: 'center' } },
},
labels: [
{
position: 'outside',
text: (data) => `${data.item}: ${data.percent * 100}%`,
},
],
tooltip: {
items: [
(data) => ({
name: data.item,
value: `${data.percent * 100}%`,
}),
],
},
});
chart.render();