Highcharts 空点高点图表/高点股票

Highcharts 空点高点图表/高点股票,highcharts,highstock,Highcharts,Highstock,我有一组不规则的空间隔数据,但我无法知道。 有没有办法在图表上突出显示它们 例如: 我对图形线使用xAxis:{ordinal:false},但我需要突出显示空点,例如: 在序列中,缺少点,并且不接收空点。我不能设置为空。带图形的代码脚本: // Example data: data = [[x1,y1],[x2,y2],[x6,y6]]; // x3,x4 and x5 are missing. function changeData(min, max) { var chart =

我有一组不规则的空间隔数据,但我无法知道。 有没有办法在图表上突出显示它们

例如:

我对图形线使用
xAxis:{ordinal:false}
,但我需要突出显示空点,例如:

在序列中,缺少点,并且不接收空点。我不能设置为空。带图形的代码脚本:

// Example data:
data = [[x1,y1],[x2,y2],[x6,y6]]; // x3,x4 and x5 are missing.

function changeData(min, max) {
    var chart = $('#{{div_id}}').highcharts();
    chart.showLoading('Actualizando datos...');
    var params = {type:'{{type}}', id: '{{id}}', from: min, to: max};
    $.post("{{url('dashboardmetric')}}", {metric: 'getDataGraphMetric', params: params},
    function(data) {
        $.each(data, function(i, v){
            chart.series[i].setData(data[i], true);  //Seteo de datos de la serie
        });
        chart.hideLoading();  //Se libera el bloquero
    }, "json");
}

$(function() {
    Highcharts.setOptions({ 
        lang: {
            months: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
            shortMonths: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
            weekdays: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado']
        },
        global: {
            useUTC: false
        }
    });

    $('#{{div_id}}').highcharts('StockChart', {
        chart: {
        borderColor: '#DDDDDD',
        borderWidth: 1,
        borderRadius: 10
    },
        title: {
            text: '{{title}}'
        },
        credits: {
            enabled: false
        },
        navigator: {//Es la serie historica y completa
            adaptToUpdatedData: false,
            height: 45,
            series: {data: {{navigator}}}
        },
        scrollbar: {
            liveRedraw: false
        },
        rangeSelector: {
            buttons: [{type: 'hour',  count: 6,  text: '6H'},
                      {type: 'day',  count: 1,  text: '1D'}, 
                      {type: 'day',  count: 2,  text: '2D'}, 
                      {type: 'week', count: 1,  text: '1S'}, 
                      {type: 'month',count: 1,  text: '1M'}, 
                      {type: 'year', count: 1,  text: '1A'}, 
                      {type: 'year', count: 2,  text: '2A'}, 
                      {type: 'all',text: 'Todo'}]
        },
        xAxis: {
            ordinal: false,
            events: {
                setExtremes: function(e) {
                    changeData(e.min, e.max);
                }
            }
        },
        yAxis: {
            min: 0
        },
        plotOptions: {
            series: {
                lineWidth: 1,
                    states: {
                        hover: {
                            lineWidth: 1
                        }
                    },
                marker: {
                    enabled: false,
                    lineWidth: 1,
                    states: {
                        hover: {
                            enabled: false
                        }
                    }
                }
            }
        },
        tooltip: {
            formatter: function() {
                    shortMonths = new Array('Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic');
                    weekdays = new Array('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado');

                    var date = new Date(this.x);
                    num_day = date.getDate();
                    index_weekday = date.getDay();
                    index_shortMonths = date.getUTCMonth();

                    if(date.getHours() < 10) {h = "0" + date.getHours();} else {h = date.getHours();}
                    if(date.getMinutes() < 10) {m = "0" + date.getMinutes();} else {m = date.getMinutes();}

                    var s = '<span style="font-size:10px">' + weekdays[index_weekday] + ', ' + shortMonths[index_shortMonths] + ' ' + num_day + ', ' + h + ':' + m + '</span>';
                    $.each(this.points, function(i, point) {
                        bits = point.y;
                        if(bits>=1000000000) {bits=(bits/1000000000).toFixed(2)+' Gb';}
                        else if(bits>=1000000)    {bits=(bits/1000000).toFixed(2)+' Mb';}
                        else if(bits>=1000)       {bits=(bits/1000).toFixed(2)+' Kb';}
                        else if(bits>1)           {bits=bits+' bits';}
                        else if(bits==1)          {bits=bits+' bit';}
                        else                      {bits='0 bits';}

                        serie = point.series;
                        s += '<br/><span style="color:'+serie.color+'">'+ serie.name +'</span>: <b>'+ bits +'</b>';
                    });

                    return s;
                },
            borderColor: '#FFA500',
            valueDecimals: 0
            {# valueSuffix: ' {{unit}}' #}
        },
        series: [
                {% for serie in series %}
                { 
                    name: '{{serie.name | raw}}',
                    data:  {{serie.data}},
                    color: '{{serie.color | raw}}',
                    marker: {
                       symbol: '{{serie.symbol | raw}}'
                    }
                },  
                {% endfor %}
                ]
    });
});
//示例数据:
数据=[[x1,y1],[x2,y2],[x6,y6];//缺少x3、x4和x5。
函数更改数据(最小值、最大值){
var chart=$('#{{div_id}}')。highcharts();
图表.显示加载('Zando datos…');
var params={type:'{{type}}',id:'{{id}',from:min,to:max};
$.post({url('dashboardmetric')}},{metric:'getDataGraphMetric',params:params},
功能(数据){
$。每个(数据、功能(i、v){
chart.series[i].setData(data[i],true);//Seteo de datos de la serie
});
chart.hideLoading();//Se libera el bloquero
}“json”);
}
$(函数(){
Highcharts.setOptions({
朗:{
月份:['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
短月:['Ene','Feb','Mar','Abr','May','Jun','Jun','Ago','Sep','Oct','Nov','Dic'],
工作日:[“多明戈”、“卢恩斯”、“马蒂斯”、“米尔科勒”、“朱埃夫斯”、“维尔内斯”、“萨巴多”]
},
全球:{
useUTC:false
}
});
$('{{div_id}}')。高图('股票图表'{
图表:{
边框颜色:'#DDDDDD',
边框宽度:1,
边界半径:10
},
标题:{
正文:“{{title}}”
},
学分:{
已启用:false
},
领航员:{//Es la serie historica y completa
AdaptToUpdateData:错误,
身高:45,
系列:{数据:{{navigator}}
},
滚动条:{
利维德劳:错
},
范围选择器:{
按钮:[{键入:'hour',计数:6,文本:'6H'},
{类型:'day',计数:1,文本:'1D'},
{类型:'day',计数:2,文本:'2D'},
{键入:'week',计数:1,文本:'1S'},
{类型:'month',计数:1,文本:'1M'},
{类型:'year',计数:1,文本:'1A'},
{类型:'year',计数:2,文本:'2A'},
{键入:'all',文本:'Todo'}]
},
xAxis:{
序数:假,
活动:{
设置极端值:函数(e){
变更数据(e.min,e.max);
}
}
},
亚克斯:{
最低:0
},
打印选项:{
系列:{
线宽:1,
国家:{
悬停:{
线宽:1
}
},
标记:{
启用:false,
线宽:1,
国家:{
悬停:{
已启用:false
}
}
}
}
},
工具提示:{
格式化程序:函数(){
shortMonths=新阵列(“Ene”、“二月”、“三月”、“Abr”、“五月”、“六月”、“七月”、“以前”、“九月”、“十月”、“十一月”、“Dic”);
平日=新阵列('Domingo','Lunes','Martes','Miércoles','Jueves','Viernes','Sábado');
var日期=新日期(此.x);
num_day=date.getDate();
index_weekday=date.getDay();
索引_shortMonths=date.getUTCMonth();
如果(date.getHours()<10){h=“0”+date.getHours();}否则{h=date.getHours();}
如果(date.getMinutes()<10){m=“0”+date.getMinutes();}否则{m=date.getMinutes();}
var s=''+工作日[index_-weekday]+',''+短月[index_-shortMonths]+''+num_-day+','+h+':'+m+';
$.each(this.points,function(i,point){
位=点y;
如果(位>=100000000){bits=(位/100000000).toFixed(2)+'Gb';}
如果(位>=1000000){bits=(位/1000000).toFixed(2)+'Mb';}
如果(位>=1000){bits=(位/1000).toFixed(2)+'Kb';}
如果(位>1){bits=bits+'bits';}
如果(位==1){bits=bits+'bit';}
else{bits='0 bits';}
系列=点系列;
s+='
'+serie.name+':'+bits+'; }); 返回s; }, 边框颜色:“#FFA500”, 数值小数:0 {#valueSuffix:{{unit}}} }, 系列:[ {%系列中的系列%} { 名称:“{serie.name | raw}}”, 数据:{serie.data}, 颜色:“{serie.color | raw}}”, 标记:{ 符号:“{serie.symbol | raw}” } }, {%endfor%} ] }); });
您可以使用,但您仍然需要自己查找间隙。您需要解析数据并在那里设置空值。谢谢。。是的,我需要解析数据,设置空缺失点,并使用选项“connectNulls:false”或在缺失的间隔中使用PlotBand。