2012-05-01 22 views
42

我有1分鐘的間隔時間系列。我想在缺失點數爲0的圖表中顯示。如何將缺失數據的高分信息默認設置爲0

我找到了xAxis.ordinal,並將其關閉,以顯示時間序列的間隔。問題在於,它直接在點之間繪製線條,而不會爲缺失的數據設置0。

+3

Wraithan - 你有沒有想出解決辦法? – bugfixr

+3

@Wraithan您是否找到了將缺失點設置爲0的方法? – Anagio

+1

對上述問題+1。我也需要知道這一點 – Denis

回答

4

一種方式是通過預處理的數據,null0替換:

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/

+13

這不回答問題,這只是避免了這個問題。 –

+0

示例不是X上的時間序列,它不是日期時間值,而是具有任何名稱的自定義比例,因此它可以工作。如果缺少日期 - 值對,就會出現問題,因此在日期時間刻度中連續不連續,圖形線消失。 – Zon

5

我看一遍搜查了API reference of HighCharts,但他們沒有提供該選項。他們提供的是什麼禁用點的連接時null數據之間(僅適用於線圖和麪積圖)選項:

var chart = new Highcharts.Chart({ 
    plotOptions: { 
     line: { 
      connectNulls: false 
     } 
    } 
}); 

這是根據API的默認設置,所以我不知道爲什麼你的數據確實與null之間的值相關聯。也許他們最近改變了默認值?

Example of HighChart with missing data

我覺得這是你的數據的良好表現,因爲拖欠null0似乎誤導。

+2

該問題要求替換爲0 - 沒有中斷,不與點之間的直接線中的平均值進行空連接。缺失的值應該被解釋爲0.這是當我們的意思是沒有觀察到阻塞,並不是我們錯過了觀察並且不知道這個值。我們知道它的值爲0.在數據庫期刊統計中非常流行。 – Zon

+0

OP實際上表示他想用0替換丟失的信息。他不知道它是0.這是相當不同的。 –

+1

高層論壇也發現很難理解。在我看來,「我想在缺失點爲0的圖表中顯示」意味着在我的任務中缺少的點應該被解釋爲0.我想要它0,因爲我知道它應該爲零,如果沒有。在Highs中,唯一允許的假設是沒有數據然後是空值,迫切需要的是沒有數據然後是零的假設。 – Zon

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); 
} 
1

您可以填寫缺少的數據爲0. 因爲高圖不能識別xAxis區間。

如果你在1分鐘間隔有一個時間序列,你應該設置每一個失蹤分鐘數據爲0; 如果你有在1 間隔時間序列,你應該設置每一個失蹤一天數據爲0。

相關問題