angular2-highcharts 点击点,打开用户输入,在注释中显示用户输入
angular2-highcharts click on point, open user input, display user input in annotation
我正在使用 angular2-highcharts 折线图来显示每周的访问者。我使用模拟数据在图表中创建点。我想要实现的是,当 he/she 单击某个点时,用户可以输入类似 'Christmas Eve' 的内容,然后会在该点显示注释。
import { Component, OnInit } from '@angular/core';
import { Data } from '../data';
import { DataService } from '../data.service';
import { ChartOptions, Options } from 'highcharts';
@Component({
selector: 'app-highcharts',
templateUrl: './highcharts.component.html',
styleUrls: ['./highcharts.component.css'],
template: `
<div class="container">
<div class="chart">
<chart [options]="options">
<series (click)="click($event)">
</series>
</chart>
<p>{{serieName}} is geselecteerd<p>
</div>
`,
})
export class HighchartsComponent implements OnInit {
title = "Highcharts PoC"
public options: Options;
constructor(private dataService: DataService) {
this.options = {
title: { text: 'Visitors per week' },
chart: { zoomType: 'x' },
yAxis: {
title: {
text: "Visitors"
}
},
xAxis: {
title: {
text: "Week number"
}
},
plotOptions: {
series: {
cursor: 'pointer',
point: {
events: {
click: function () {
{
this.serieName = 'Appell';
return true
}
// alert('Christmas Eve');
// return true;
}
}
},
pointStart: 1 // Week number
}
},
series: [{
name: '2017',
data: dataService.getHighchartsData()
}
]
};
}
ngOnInit() {
}
}
我认为您的方向是正确的。我会在点
添加一个点击事件
// component.html
<chart>
<series>
<point (click)="onPointClick($event.context)"></point>
</series>
</chart>
然后有一个表单或其他东西,在提交时向图表添加注释。这是演示这一点的基本 plnkr (http://plnkr.co/edit/UYrRi3cCRyiv1IL4QDt4?p=preview). Here I am using the highcharts annotations module (https://www.npmjs.com/package/highcharts-annotations)。您可以通过执行
以编程方式添加注释
// component.ts
this.chart.annotations.add({
title: {
text: 'Christmas Eve'
},
xValue: 24,
yValue: 12
});
我正在使用 angular2-highcharts 折线图来显示每周的访问者。我使用模拟数据在图表中创建点。我想要实现的是,当 he/she 单击某个点时,用户可以输入类似 'Christmas Eve' 的内容,然后会在该点显示注释。
import { Component, OnInit } from '@angular/core';
import { Data } from '../data';
import { DataService } from '../data.service';
import { ChartOptions, Options } from 'highcharts';
@Component({
selector: 'app-highcharts',
templateUrl: './highcharts.component.html',
styleUrls: ['./highcharts.component.css'],
template: `
<div class="container">
<div class="chart">
<chart [options]="options">
<series (click)="click($event)">
</series>
</chart>
<p>{{serieName}} is geselecteerd<p>
</div>
`,
})
export class HighchartsComponent implements OnInit {
title = "Highcharts PoC"
public options: Options;
constructor(private dataService: DataService) {
this.options = {
title: { text: 'Visitors per week' },
chart: { zoomType: 'x' },
yAxis: {
title: {
text: "Visitors"
}
},
xAxis: {
title: {
text: "Week number"
}
},
plotOptions: {
series: {
cursor: 'pointer',
point: {
events: {
click: function () {
{
this.serieName = 'Appell';
return true
}
// alert('Christmas Eve');
// return true;
}
}
},
pointStart: 1 // Week number
}
},
series: [{
name: '2017',
data: dataService.getHighchartsData()
}
]
};
}
ngOnInit() {
}
}
我认为您的方向是正确的。我会在点
添加一个点击事件// component.html
<chart>
<series>
<point (click)="onPointClick($event.context)"></point>
</series>
</chart>
然后有一个表单或其他东西,在提交时向图表添加注释。这是演示这一点的基本 plnkr (http://plnkr.co/edit/UYrRi3cCRyiv1IL4QDt4?p=preview). Here I am using the highcharts annotations module (https://www.npmjs.com/package/highcharts-annotations)。您可以通过执行
以编程方式添加注释// component.ts
this.chart.annotations.add({
title: {
text: 'Christmas Eve'
},
xValue: 24,
yValue: 12
});