简体   繁体   English

Highcharts - 多个Y轴

[英]Highcharts - Multiple Y axis

So I have multiple highcharts graphs on a single page. 所以我在一个页面上有多个highcharts图。 Some of these graphs (line) contain multiple series on one graph. 其中一些图(线)在一个图上包含多个系列。 The problem I'm having is being able to select multiple points for one or both of the series. 我遇到的问题是能够为一个或两个系列选择多个点。

Here is some sample code on what I'm attempting to do, but it gives me problems... 以下是我试图做的一些示例代码,但它给我带来了问题......

function hc_json(series, hc_id) {
    $('#' + hc_id).highcharts('StockChart', {
        chart: {
            events: {           //Sets an event listener for the chart
                /*
                 *  If an event is registered it checks if the external zoom/selects are checked. 
                 *  If select is checked it gets the data points that were within the range at sets 
                 *  them as selected. 
                 */
                selection: function(event) {
                    var mode = $('input[name=mode]:checked', '#' + hc_id  + '_control').val();
                    if (mode != hc_id + '_zoom') {

                        for (var i = 0; i < this.series.length; i++)
                        {
                            console.log("Series: ", this.series);
                            console.log("Series length: ", this.series.length);
                            var points = this.series[i].points;   // visible points
                            var xs = event.xAxis[0]; //There seems to be no min/max forxAxis[1]
                            $.each(points, function (i,p) {
                                if (p.x >= xs.min && p.x <= xs.max) {
                                    console.log("Point:", p.x, "is selected");
                                    p.select(true, true);
                                }
                            });
                            //return false;
                        }
                        return false;
                    }
                },
            },

So for instance, I want to be able to select points on the chart for one of the series, but I want to be able to distinguish which series I want to select. 因此,例如,我希望能够在图表上为其中一个系列选择点,但我希望能够区分我想要选择的系列。 I read up on some "visible" series but have yet to figure out how to make a series visible or not. 我读了一些“可见”系列,但尚未弄清楚如何制作一个系列可见或不可见。

Please take look at this solution : 请看一下这个解决方案:

 chart: {
        events: {
            selection: function(event) {
                var chart = this,
                    min = event.xAxis[0].min,
                    max = event.xAxis[0].max,
                    txt = '';
                if (event.xAxis) {

                    $.each(chart.series,function(i,serie){
                        $.each(serie.data,function(j,point){
                            if(point.x >=min && point.x <=max) {
                                txt += '<br>serie: ' + serie.name + ' point: '+ point.y;
                                point.select(true,true);
                            }
                        });
                    });

                    $report.html(txt);
                }
            }
        },
        zoomType: 'x'
    },

http://jsfiddle.net/cNRx5/2/ http://jsfiddle.net/cNRx5/2/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM