Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.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
Javascript 多点序列上的数据标签_Javascript_Highcharts_Highstock - Fatal编程技术网

Javascript 多点序列上的数据标签

Javascript 多点序列上的数据标签,javascript,highcharts,highstock,Javascript,Highcharts,Highstock,我经常需要显示带有许多点的序列,并且我想为一些点设置数据标签。这很好,但是当序列有太多点时,dataLabel在开始时不可见。当我放大序列时,我可以看到它显示正确 所以我的问题是:有没有一种方法可以始终显示这样一个系列的数据标签 这是我的JSFIDLE: 数据标签在51 $(function() { var myData = []; for (var i = 0; i < 50; i++) { myData.push(i +

我经常需要显示带有许多点的序列,并且我想为一些点设置数据标签。这很好,但是当序列有太多点时,dataLabel在开始时不可见。当我放大序列时,我可以看到它显示正确

所以我的问题是:有没有一种方法可以始终显示这样一个系列的数据标签

这是我的JSFIDLE: 数据标签在51

    $(function() {

        var myData = [];
        for (var i = 0; i < 50; i++) {
            myData.push(i + Math.random() * 3);
        }
        myData.push(51);
        for (var i = 52; i < 400; i++) {
            myData.push(i + Math.random() * 3);
        }           

        chart = $('#container').highcharts('StockChart', {
            chart : {
                zoomType: 'x',
                events : {
                    load : function() {
                        myChart = this;
                        mySeries = this.series[1];
                    },
                }
            },

            plotOptions: {
                series: {
                    dataLabels: {
                    enabled: true,
                    formatter: setDataLabels
                    }
                }
            },

            series: [
                {
                    name: 'Label51',
                    id : 'dataseries',
                    color: 'blue',
                    data: myData
                }
            ]   

        });


        function setDataLabels() {
            if (this.y == 51) {
                return this.y;
            } else {
                return null;
            }
        }

    }); 
$(函数(){
var myData=[];
对于(变量i=0;i<50;i++){
myData.push(i+Math.random()*3);
}
myData.push(51);
对于(变量i=52;i<400;i++){
myData.push(i+Math.random()*3);
}           
图表=$(“#容器”)。高图('StockChart'{
图表:{
zoomType:'x',
活动:{
加载:函数(){
myChart=这个;
mySeries=this.series[1];
},
}
},
打印选项:{
系列:{
数据标签:{
启用:对,
格式化程序:setDataLabels
}
}
},
系列:[
{
名称:'Label51',
id:'数据系列',
颜色:“蓝色”,
数据:myData
}
]   
});
函数setDataLabels(){
if(this.y==51){
把这个还给我;
}否则{
返回null;
}
}
}); 

这是由-禁用它引起的,可以正常工作。

好吧,你的示例对我来说很好。。它在51显示数据标签。但是,这可能是由以下原因引起的。试着禁用它,我们会看到的。就是这样!谢谢你快速完美的回答。