antvis/G2


The issue has been closed
tootip提示有问题 #5677
18211365467 posted onGitHub
import { Chart } from '@antv/g2';
const xField = 'time';
const leftFields = [['call', 'waiting'], 'people'];
const rightFields = ['mock'];
const chart = new Chart({ container: 'container' });
chart.options({
type: 'view',
data: [
{ time: '10:10', call: 4, waiting: 2, people: 2, mock: 3 },
{ time: '10:15', call: 2, waiting: 6, people: 3, mock: 4 },
{ time: '10:20', call: 13, waiting: 2, people: 5, mock: 1 },
{ time: '10:25', call: 9, waiting: 9, people: 1, mock: 2 },
{ time: '10:30', call: 5, waiting: 2, people: 3, mock: 5 },
{ time: '10:35', call: 8, waiting: 2, people: 1, mock: 3 },
{ time: '10:40', call: 13, waiting: 1, people: 2, mock: 2 },
],
children: [
...marks('left', xField, leftFields),
...marks('right', xField, rightFields),
],
});
chart.render();
function marks(position, xField, fields) {
return fields.map((d, index) => {
if (Array.isArray(d))
return {
type: 'interval',
data: {
transform: [{ type: 'fold', fields: d }],
},
encode: {
x: xField,
y: 'value',
color: 'key',
series: () => `(${position}, ${index})`,
},
transform: [{ type: 'stackY' }],
scale: { y: { key: position } },
axis: { y: { title: null, position } },
};
return {
type: 'interval',
encode: {
x: xField,
y: d,
color: () => d,
series: () => `(${position}, ${index})`,
},
scale: { y: { key: position } },
axis: { y: { title: null, position } },
};
});
}