in src/common/dataAdapter.ts [37:156]
export default function highchartsDataToG2Data(
data: DataAdapterData | DataAdapterData[],
config: DataAdapterConfig,
dataFields?: dataFields,
) {
if (!data) {
return [];
}
if (!Array.isArray(data)) {
data = [data];
}
const { /*x: xField = 'x', y: yField = 'y',*/ type: typeField = 'type' } = dataFields || {};
const newData: Types.LooseObject[] = [];
if (Array.isArray(config.yAxis)) {
data.forEach((oneData, index) => {
if (!oneData || !Array.isArray(oneData.data)) {
return;
}
const { name: dataName, yAxis: yIndex = 0, dodge, visible, ...groupExtra } = oneData;
oneData.data.forEach((d, i) => {
if (Array.isArray(d)) {
const [x, y, ...extra] = d;
newData.push({
x,
[`y${yIndex}`]: y,
extra,
groupExtra,
dodge,
visible,
[typeField]: dataName || `undefined-name-${index}`,
});
} else if (config.xAxis && config.xAxis.categories && config.xAxis.categories[i]) {
const x = config.xAxis.categories[i];
const y = typeof d === 'number' ? d : d[0];
newData.push({
x,
[`y${yIndex}`]: y,
extra: [],
groupExtra,
dodge,
visible,
[typeField]: dataName || `undefined-name-${index}`,
});
} else {
const { x, y, ...extra } = d;
newData.push({
x,
[`y${yIndex}`]: y,
extra,
groupExtra,
dodge,
visible,
[typeField]: dataName || `undefined-name-${index}`,
});
}
});
});
} else {
data.forEach((oneData, index) => {
if (!oneData || !Array.isArray(oneData.data)) {
return;
}
const { name: dataName, facet, dodge, visible, ...groupExtra } = oneData;
oneData.data.forEach((d, i) => {
if (Array.isArray(d)) {
const [x, y, ...extra] = d;
newData.push({
x,
y,
extra,
groupExtra,
facet,
dodge,
visible,
[typeField]: dataName || `undefined-name-${index}`,
});
} else if (config.xAxis && config.xAxis.categories && config.xAxis.categories[i]) {
const x = config.xAxis.categories[i];
const y = typeof d === 'number' ? d : d[0];
newData.push({
x,
y,
extra: [],
groupExtra,
facet,
dodge,
visible,
[typeField]: dataName || `undefined-name-${index}`,
});
} else if (typeof d === 'number') {
newData.push({
x: d,
y: d,
groupExtra,
visible,
[typeField]: dataName || `undefined-name-${index}`,
});
} else {
const { x, y, ...extra } = d;
newData.push({
x,
y,
extra,
groupExtra,
facet,
dodge,
visible,
[typeField]: dataName || `undefined-name-${index}`,
});
}
});
});
}
return newData;
}