ECharts рисует многоугольник на точечной диаграмме - PullRequest
0 голосов
/ 10 июля 2019

Я много гуглил, но не смог найти никакой информации.Можно ли нарисовать многоугольник на диаграмме рассеяния в диаграммах EC для достижения того же вида, что и на рисунке ниже?

enter image description here

1 Ответ

0 голосов
/ 11 июля 2019

ECharts имеет API для рисования полигонов:

function renderItem(params, api) {
    if (params.context.rendered) {
        return;
    }

    params.context.rendered = true;

    let points = [];
    for (let i = 0; i < data.length; i++) {
        points.push(api.coord(data[i]));
    }

    let color = api.visual('color');

    return {
        type: 'polygon',
        shape: {
            points: echarts.graphic.clipPointsByRect(points, {
                x: params.coordSys.x,
                y: params.coordSys.y,
                width: params.coordSys.width,
                height: params.coordSys.height
            })
        },
        style: api.style({
            fill: color,
            stroke: echarts.color.lift(color)
        })
    };
}

var data = [
     [
        echarts.number.round(3.8),
        echarts.number.round(4)
     ],
     [
        echarts.number.round(3.8),
        echarts.number.round(4.5)
     ],
     [
        echarts.number.round(5),
        echarts.number.round(6)
     ]
];

option = {
    xAxis: {},
    yAxis: {},
    series: [
        ...other charts here ...
        {
            type: 'custom',
            renderItem: renderItem,
            data: data
        }
    ]
};

Результат будет выглядеть так:

enter image description here

...