Я использую ng2-диаграммы, чтобы создать линейную диаграмму с несколькими кликабельными точками. Когда я нажимаю точку, запускается событие щелчка - здесь метод:
public chartClicked(e: any): void {
console.log('Clicked: ' + e);
}
и вот мой график HTML:
<div class="col-md-6">
<base-chart id="lineChart" class="chart"
[datasets]="chartData"
[labels]="chartLabels"
[colors]="chartColours"
[legend]="chartLegend"
[chartType]="chartType"
(chartHover)="chartHovered($event)"
(chartClick)="chartClicked($event)"></base-chart>
</div>
К сожалению, документация по ng2-диаграммам не объясняет, как фактически использовать переменную "e" (из того, что я видел). Я хотел бы получить значения x и y из точки щелчка - кто-нибудь знает, как это сделать?
Глядя на демограммы Angular2 Chart, я заметил следующее:
e
является контейнером для: а) щелчка элементов диаграммы и b) клика мыши.
e = {
active: chartData[],
event: MouseEvent
}
Поэтому, поскольку он выглядит обычным старым MouseEvent, вы можете сделать следующее, чтобы получить позицию на диаграмме:
var x:number = e.event.layerX;
var y:number = e.event.layerY;
Я рекомендую дважды проверить это и сказать мне, если я ошибаюсь.