我有1分鐘的間隔時間系列。我想在缺失點數爲0的圖表中顯示。如何將缺失數據的高分信息默認設置爲0
我找到了xAxis.ordinal,並將其關閉,以顯示時間序列的間隔。問題在於,它直接在點之間繪製線條,而不會爲缺失的數據設置0。
我有1分鐘的間隔時間系列。我想在缺失點數爲0的圖表中顯示。如何將缺失數據的高分信息默認設置爲0
我找到了xAxis.ordinal,並將其關閉,以顯示時間序列的間隔。問題在於,它直接在點之間繪製線條,而不會爲缺失的數據設置0。
一種方式是通過預處理的數據,null
與0
替換:
var withNulls = [null, 12, 23, 45, 3.44, null, 0];
var noNulls = withNulls.map(function (item) {
return (item === null) ? 0 : item;
});
實例保存在的jsfiddle:http://jsfiddle.net/7mhMP/
這不回答問題,這只是避免了這個問題。 –
示例不是X上的時間序列,它不是日期時間值,而是具有任何名稱的自定義比例,因此它可以工作。如果缺少日期 - 值對,就會出現問題,因此在日期時間刻度中連續不連續,圖形線消失。 – Zon
我看一遍搜查了API reference of HighCharts,但他們沒有提供該選項。他們提供的是什麼禁用點的連接時null
數據之間(僅適用於線圖和麪積圖)選項:
var chart = new Highcharts.Chart({
plotOptions: {
line: {
connectNulls: false
}
}
});
這是根據API的默認設置,所以我不知道爲什麼你的數據確實與null
之間的值相關聯。也許他們最近改變了默認值?
我覺得這是你的數據的良好表現,因爲拖欠null
到0
似乎誤導。
我有同樣的問題,我的理解是,你應該在數據庫中設置你的數據結構爲VARCHAR,並將默認值設置爲null,所以你沒有數據的地方就會變成NULL。然後它接受空值,並且高圖不顯示並使用null
值連接缺失區域。
此外,您必須接收數據爲NULL
,並且不要將它們更改爲''
。
看到這個工作示例:
var chart = new Highcharts.Chart({
chart: {
defaultSeriesType: 'spline', // use line or spline
renderTo: 'container1'
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
series: [{
data: [9, 4,null, 2, 1, 0, 6, 5, 4, 1, 6, 4]
}]
});
here是使用null
和''
兩個不同的圖表更新小提琴:
如果使用parseInt函數將數據推你應該記住,parseINT(NULL)
給你NAN
所以這個錯誤嘗試手動推NULL這樣的東西:
var val = parseInt(rows[i]);
if (isNaN(val))
{
val = null;
result.push(val);
}
您可以填寫缺少的數據爲0. 因爲高圖不能識別xAxis區間。
如果你在1分鐘間隔有一個時間序列,你應該設置每一個失蹤分鐘數據爲0; 如果你有在1 天間隔時間序列,你應該設置每一個失蹤一天數據爲0。
Wraithan - 你有沒有想出解決辦法? – bugfixr
@Wraithan您是否找到了將缺失點設置爲0的方法? – Anagio
對上述問題+1。我也需要知道這一點 – Denis