Javascript 在highcharts中单击系列时绘制垂直线。
我知道如何在海图上画垂直线。但只有当我点击除系列之外的任何地方,这才有可能。当我单击该系列时,不会给出任何提示。如果单击图表容器中的任何其他位置,则会得到提示。请给我一个解决办法。我迄今为止的努力:Javascript 在highcharts中单击系列时绘制垂直线。,javascript,highcharts,highstock,Javascript,Highcharts,Highstock,我知道如何在海图上画垂直线。但只有当我点击除系列之外的任何地方,这才有可能。当我单击该系列时,不会给出任何提示。如果单击图表容器中的任何其他位置,则会得到提示。请给我一个解决办法。我迄今为止的努力: $('#save_line_vertical').click(function(event) { var label=document.getElementById("line_label_vertical").value; if(label!=null)
$('#save_line_vertical').click(function(event) {
var label=document.getElementById("line_label_vertical").value;
if(label!=null)
{
var id = 'vertLine' + Math.random();
chart.addPlotLine({
value: axis_value,
color: '#'+(Math.random()*0xEEEEEE<<0).toString(16),
width: 2,
id: id,
label : {
text : label
},
events: {
click: function(e) {
chart.removePlotLine(id);
}
},
});
}
});
$('save#line_vertical')。单击(函数(事件){
var label=document.getElementById(“line\u label\u vertical”).值;
如果(标签!=null)
{
var id='vertLine'+Math.random();
chart.addPlotLine({
值:轴_值,
颜色:“#”+(Math.random()*0xEEEEEE您还需要将单击事件添加到序列对象,并进行小抛光,请参见:
plotOptions: {
series: {
events: {
click: function (event) {
var label = prompt('Label for Vertical Line');
if (label != null) {
var chart = this.xAxis;
chart.addPlotLine({
value: chart.toValue(event.x),
color: '#' + (Math.random() * 0xEEEEEE << 0).toString(16),
width: 2,
id: 'vertLine',
zIndex: 9999,
label: {
text: label
}
});
}
}
}
}
},
plotOptions:{
系列:{
活动:{
单击:功能(事件){
var label=提示(“垂直线标签”);
如果(标签!=null){
var chart=this.xAxis;
chart.addPlotLine({
值:chart.toValue(event.x),
颜色:“#”+(Math.random()*0xEEEEEE谢谢。@Pawel你能告诉我在趋势线的情况下我必须改变什么吗?我的意思是,如果我在序列上画一条趋势线会怎么样。对不起,我不知道你怎么画趋势线。只是比较一下我对垂直线的改变,对趋势线也做同样的改变……我刚刚发现这个解决方案在firefox中不起作用……但它是在chrome中工作。你能告诉我firefox有什么修复程序吗?当然,不要使用event.x
,而是使用event.chartX
,请参阅:控制台中仍然有错误(j++未定义)。删除后,我注意到你需要使用this.chart.addSeries
而不是this.addSeries
。请参阅: