2
我試圖以漸進方式向圖表添加新點。添加新點並設置新的最小/最大值後,工具提示標籤顯示不正確。HighCharts.StockChart工具提示懸停數據點不正確
小提琴:http://jsfiddle.net/aAFLX/
$(function() {
Highcharts.setOptions({
global : {
useUTC : false
},
scrollbar:{
enabled: true
},
lang: {
rangeSelectorZoom: ' '
}
});
var dataPoints = [[1293820200000, 45], [1293733800000, 25], [1293647400000, 65]]
var counter = 0;
var chart = new Highcharts.StockChart({
chart: {
renderTo: 'container'
},
rangeSelector: {
enabled: false
},
navigator: {
enabled: false
},
scrollbar : {
enabled : false
},
yAxis: {
min: 0,
max: null
},
xAxis: {
type: 'datetime',
linecolor: '#bbccdd',
gridLineColor:'#bbccdd',
tickInterval: 86400000,
min: 1293820200000,
max: 1294079400000
},
series: [{
name: 'Count',
data : [[1293906600000, 56]],
type : 'column',
}]
});
$('#button').click(function() {
if(counter == dataPoints.length) {
return;
}
var point = dataPoints[counter++];
var d = new Date(point[0]);
var min = d.setDate(d.getDate() - 1);
chart.xAxis[0].setExtremes(min,null);
chart.series[0].addPoint(point);
});
});
任何想法有什麼不好?我錯過了一些東西,或者錯誤地使用了API?
在我的情況下,批量檢索的數據和它的降序。例如batch1 = [[2-Jan-2013,25],[1-Jan-2013,45]],batch2 = [[31-Dec-2012,65],[30-Dec-2012,7]]。另外,我希望在第一批後立即渲染圖表,以便漸進渲染。根據你的回答,似乎在不重新渲染整個圖表的情況下無法實現這一點。你能否提出更好的建議或者是否有支持這種情況的庫? – user2064553 2013-02-12 13:26:45
是的,如果數據未排序,您需要重新渲染圖表。恐怕我不知道任何其他解決方案 – eolsson 2013-02-12 13:44:08