单击highcharts中的系列时绘制一条垂直线。

时间:2014-03-27 07:52:05

标签: javascript highcharts highstock

我知道如何在highcharts中绘制垂直线。但只有当我点击系列之外的任何地方时才有可能。当我点击该系列时,没有给出提示。如果我点击图表容器中的任何其他位置,那么我会收到提示。请给我一个解决方案。到目前为止我的尝试:

$('#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);
                }
            },
            });
        }
    });

这是我的小提琴:

http://jsfiddle.net/das_palash89/3AqM7/

1 个答案:

答案 0 :(得分:1)

您还需要将click事件添加到系列对象中,并进行小型抛光,请参阅:

    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
                            }
                        });
                    }

                }
            }
        }
    },

演示:http://jsfiddle.net/3AqM7/5/