我們試圖用Kendo UI模擬階梯面積圖來表示執行器在一段時間內行進的方向/位置(+1表示順時針,-1表示計數器在一天的過程中)。執行機構完成其轉換的時間不是固定的。Kendo StockChart帶有階梯折線圖的不正確推斷
代碼包含在下面(或者請隨時使用下面的jsfiddle在http://jsfiddle.net/pirahawk/XT6CZ/15/以避免任何設置)。我們使用了Kendo Stockchart,因爲它提供了一個互補的導航器組件,允許用戶將圖形限制在所需的時間段。但是,我們發現圖表api中有些古怪,特別是當數據集有大量時間流逝時。如下面的例子所示,我們開始接收輸入,它們之間的間隔爲1秒。在圖表上繪製這些圖表可以達到我們期望看到的形狀。然而,添加現在相隔幾個小時的其他數據點(請取消註釋所示的數據點),我們發現圖表api似乎以某種方式錯誤地推斷了較早的數據點。
當使用導航器將圖表限制在較早的時間段(凌晨2點到2點半之間)時,我們再次實現原始形狀。然而,我們想要顯示相同的形狀而不必執行此操作(即,停止api以在數據點之間具有較大間隔的情況下外推數據點)。任何幫助,建議在這個問題將不勝感激
var dataForSource = [{
date: new Date("December 16, 2013 02:06:00 AM"),
Count: 0
}, {
date: new Date("December 16, 2013 02:07:00 AM"),
Count: 1
},
{
date: new Date("December 16, 2013 02:09:00 AM"),
Count: 0
}, {
date: new Date("December 16, 2013 02:09:15 AM"),
Count: -1
},
{
date: new Date("December 16, 2013 02:09:45 AM"),
Count: 0
},
{
date: new Date("December 16, 2013 02:10:00 AM"),
Count: -1
}, {
date: new Date("December 16, 2013 02:15:00 AM"),
Count: 0
}
//Uncomment these out to see issue
/*
, {
date: new Date("December 16, 2013 04:10:01 PM"),
Count: -1
}
, {
date: new Date("December 16, 2013 11:55:00 PM"),
Count: 0
} */
];
var staticDataSource = new kendo.data.DataSource({
type: "line",
data: dataForSource
});
function createChart() {
$("#chart").kendoStockChart({
dataSource: staticDataSource,
dateField: "date",
series: [{
type: "line",
style: 'step',
//missingValues: "interpolate",
field: "Count",
categoryField: "date"
}],
xAxis: {
baseUnit: "seconds"
},
navigator: {
series: {
type: "line",
style: 'step',
field: "Count"
},
xAxis: {
baseUnit: "hours"
},
}
});
};
$(document).ready(createChart);