是否有可能在几年之间不连接点?请参阅下面的图表截图。我被告知它具有误导性。到目前为止,我唯一的解决方案是为每个站的每个样本年创建年终空值。那是SQL表中的大约750个条目。看似粗糙。任何人都可以提出更优雅和程序化的解决方案。
通过Postgresql的json检索数据。
非常感谢任何建议或参考,
迈克尔
答案 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);