Как добавить круг или другие спрайты в точку на графике amCharts 4 и изменить ее размер при изменении размеров диаграммы - PullRequest
0 голосов
/ 04 ноября 2019

В amcharts 4 , я хочу создать фигуру в точке графика на основе позиции курсора. Я пытался, и это работает. Я отслеживаю положение мыши с помощью следующего кода:

cursorPosition = {
    point: null
}

chart.cursor.events.on("cursorpositionchanged", trackMouse);
function trackMouse(event){
    cursorPosition.point = event.target.point;
}

Я рисую фигуру, подобную этой (в данном случае круг для простоты, но мне также нужно рисовать линии и прямоугольники)

var temporaryPoint = thisChart.createChild(am4core.Circle);
temporaryPoint.nonScaling = false;
temporaryPoint.fillOpacity = 0;
temporaryPoint.stroke = "#5555FF";
temporaryPoint.strokeWidth = 1.5;
temporaryPoint.width = 10;
temporaryPoint.height = 10;
temporaryPoint.moveTo(cursorPosition.point);

Теперь проблема в том, что каждый раз, когда я изменяю размер графика, круг не придерживается позиций осей. Я попытался, используя код из этого урока , изменить поведение и установить x и y круга в значения осей, но это не работает.

Как сделать так, чтобы фигура придерживалась значений осей, а не позиций x и y? Альтернативой может быть изменение размера и перемещение при каждом изменении размера диаграммы, но как я могу сделать это с точностью?

...