Highcharts不会在几年之间连接点

时间:2015-10-11 23:57:40

标签: highcharts

是否有可能在几年之间不连接点?请参阅下面的图表截图。我被告知它具有误导性。到目前为止,我唯一的解决方案是为每个站的每个样本年创建年终空值。那是SQL表中的大约750个条目。看似粗糙。任何人都可以提出更优雅和程序化的解决方案。

通过Postgresql的json检索数据。

非常感谢任何建议或参考,

迈克尔

enter image description here

3 个答案:

答案 0 :(得分:2)

系列间隙可以通过空值点创建。

其他选项是将每年的数据放在不同的系列中,这些系列将链接在一起并具有相同的颜色选项和名称。

示例:http://jsfiddle.net/kcccL6vw/1/

$(document).on("mousedown", function() {
    if (e.button==0) {
       $(document).off("mousedown")
       $(document).click(function() {
           alert("left click");
       });
    }
});

答案 1 :(得分:0)

如果您不想连接点,请使用散点图而不是折线图。

型:'散射'

答案 2 :(得分:0)

它很难看,但它现在有效。我获得了现有数据的年份范围,然后将所有年末(' 12/31 / 20xx')空值附加到现有数据。 connectNulls:false阻止任何连接到它们的点。然后按日期对数组进行排序,这是不必要的困难。

我知道我的JavaScript技能很糟糕,所以如果有人想方设法收紧它,请回复。我需要得到所有帮助。这是我的jsfiddle我在

工作

感谢大家的帮助和建议,

迈克尔

var cruiseDate = [];

for (var i = 0; i < data.length; i++) {
    sampleDate = data[i][1];
    thisDate = moment(sampleDate).format('MM/DD/YYYY');
    cruiseDate.push([thisDate]);
}

var minDate = moment(cruiseDate[0], "MM/DD/YYYY").year();
var maxDate = moment(cruiseDate[cruiseDate.length - 1], "MM/DD/YYYY").year();
console.log('first year: ' + minDate + '  last year:  ' + maxDate);

for (var i = minDate; i <= maxDate; i++) {
    temp = null;
    insertDate = moment('12/31/' + i).valueOf();
    console.log('epoch: ' + insertDate + '  ' + moment(insertDate).format("MM/DD/YYYY"));
    data.push(["year-end-null", insertDate, 0, temp, temp, temp, temp, temp, temp, temp, temp, temp, temp, temp, temp, temp])
}

function compare(a, b) { // from stackoverflow
    var aDate = new Date(a[1]);
    var bDate = new Date(b[1]);
    if (aDate < bDate) return -1;
    if (aDate > bDate) return 1;
    return 0;
}

data.sort(compare);