|
app.component.ts
import { ChartDataService } from './chart-data.service';
@Component({
providers: [ChartDataService]
})
export class AppComponent {
public series1 : Object[] =[];
public series2 : Object[] =[];
public series3 : Object[] =[];
constructor(public chartDataService: ChartDataService) {
this.series1 = ChartDataService.prototype.getData().series1;
this.series2 = ChartDataService.prototype.getData().series2;
this.series3 = ChartDataService.prototype.getData().series3;
}
} |
|
export class AppComponent implements OnInit{
public data :Object[] =[];
async ngOnInit(): Promise<void> {
let chartData = await ChartDataService.prototype.getData();
this.data = chartData.series1;
}
} |
|
Index.ts:
// add additional code here
public chartMouseMove(args: IChartEventArgs): void {
const mouseX = parseFloat(args['x']);
const mouseY = parseFloat(args['y']);
const xAxis = this.chart.series[0]['xAxis'];
const yAxis = this.chart.series[0]['yAxis'];
const rect = this.chart.series[0]['clipRect'];
const xVal = mouseX - rect.x;
const yVal = mouseY - rect.y;
const xSize = rect.width;
const ySize = rect.height;
this.actualXValue = !xAxis.isInversed ? xVal / xSize : (1 - (xVal / xSize));
this.actualXValue = this.actualXValue * (xAxis.visibleRange.delta) + xAxis.visibleRange.min;
this.actualYValue = yAxis.isInversed ? yVal / ySize : (1 - (yVal / ySize));
this.actualYValue = this.actualYValue * (yAxis.visibleRange.delta) + yAxis.visibleRange.min;
(this.chart.series[0].dataSource as object[]).push({ x: this.actualXValue, y: this.actualYValue });
}
public tooltipRender(args: ITooltipRenderEventArgs): void {
args.headerText = '<b>CurrentX :</b> ' + this.actualXValue.toFixed(2) + ' ' + '<b>CurrentY :</b> ' + this.actualYValue.toFixed(2);
}
// add additional code here |