Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Highcharts 禁用两个系列中的一个系列的交叉线_Highcharts_Highstock - Fatal编程技术网

Highcharts 禁用两个系列中的一个系列的交叉线

Highcharts 禁用两个系列中的一个系列的交叉线,highcharts,highstock,Highcharts,Highstock,我使用的是两个系列的图表,如图中所示 可以为第二个系列禁用十字光标吗?问题是,当moise指针靠近黑色系列s2时,蓝色系列s1没有十字线,我不需要/想要黑色系列的十字线,但蓝色系列的十字线 var myData = []; for (var i = 2; i < 10; i++) { myData.push([i, i + Math.random() * 3]); } var myDataLine =

我使用的是两个系列的图表,如图中所示

可以为第二个系列禁用十字光标吗?问题是,当moise指针靠近黑色系列s2时,蓝色系列s1没有十字线,我不需要/想要黑色系列的十字线,但蓝色系列的十字线

        var myData = [];
        for (var i = 2; i < 10; i++) {
            myData.push([i, i + Math.random() * 3]);
        }
        var myDataLine = [];
        myDataLine.push([0,6]);
        myDataLine.push([23,6]);

        chart = $('#container').highcharts('StockChart', {
            chart : {
                zoomType: 'x',
            },
            series: [{
                name: 's1',
                data: myData,
                type: 'line'
            },{
                name: 's2',
                data: myDataLine,
                type: 'line'
            }]
        });
var myData=[];
对于(变量i=2;i<10;i++){
myData.push([i,i+Math.random()*3]);
}
var myDataLine=[];
myDataLine.push([0,6]);
myDataLine.push([23,6]);
图表=$(“#容器”)。高图('StockChart'{
图表:{
zoomType:'x',
},
系列:[{
名称:“s1”,
数据:myData,
类型:“行”
},{
名称:“s2”,
数据:myDataLine,
类型:“行”
}]
});

默认情况下,它不是内置的,但您可以准备自己的十字线功能,如示例所示:

                    mouseOver: function () {
                        var chart = this.series.chart,
                            r = chart.renderer,
                            left = chart.plotLeft,
                            top = chart.plotTop,
                            width = chart.plotWidth,
                            height = chart.plotHeight,
                            x = this.plotX,
                            y = this.plotY;

                        if (this.series.options.enabledCrosshairs) {
                            crosshair = r.path(['M', left, top + y, 'L', left + width, top + y, 'M', left + x, top, 'L', left + x, top + height])
                                .attr({
                                'stroke-width': 1,
                                stroke: 'red'
                            })
                                .add();
                        }
                    },
                    mouseOut: function () {
                        if (crosshair.d !== UNDEFINED) crosshair.destroy();
                    }

是的,这是很有可能的。使用2,一个启用十字光标,另一个禁用十字光标。然后指定要使用哪个轴的系列:

Highcharts.chart('container'{
xAxis:[{
十字线:{
启用:对,
宽度:5
}
}, {
十字线:错,
可见:假
}],
系列:[{
名称:“带十字准线的系列”,
xAxis:0,//您可以忽略此项,默认情况下,highcharts使用数组中的第一个轴
数据:[99.9,81.5,76.4129.2144.0]
},
{
名称:“不带十字线的系列”,
xAxis:1,
数据:[42.1,47.5,150.4,42.2,64.0]
}
]
})