![](/img/trans.png)
[英]HighCharts chart export (screenshot download) does not display Navigator graph
[英]Navigator in highcharts graph does not work
圖表的其余部分正常運行,並且當我更改時間刻度時,導航器會更新,但是調整導航器的大小並向左/向右滾動不會執行任何操作(不會更新圖形)。
為了初始化圖形,我這樣做:
Highcharts.stockChart('highchartLineChart', {
title: {
text: 'MyTitle'
},
subtitle: {
text: ''
},
xAxis: {
title: {
enabled: true,
text: 'Time (days)'
},
type: 'datetime',
},
yAxis: {
title: {
text: 'Value'
},
},
navigator: {
enabled: true,
series: {
id: 'navigator',
}
},
series: []
});
然后,我有一個ajax方法來填充它,如下所示:
var highchartLineData = [];
for (var i = 0; i < result.length; i++) {
var parsedDate = new Date(result[i].MyDate.match(/\d+/)[0] * 1);
var lineItem = {
x: parsedDate,
y: parseFloat(result[i].Value)
};
highchartLineData.push(lineItem);
}
$('#highchartLineChart').highcharts().addSeries({
name: "My Chart",
data: highchartLineData
});
然后我嘗試添加此內容,只是嘗試進行各種嘗試來修復它
var nav = $('#highchartLineChart').highcharts().get('navigator');
nav.setData(highchartLineData);
$('#highchartLineChart').highcharts().xAxis[0].setExtremes();
但是它沒有用。 盡管可以左右拖動導航器,但不會更新任何內容。 有時它會破壞它,並且頂部圖形消失,但是如果按1m 3m等,它將返回。
控制台中沒有錯誤。 有任何想法嗎?
在您的代碼中,執行以下操作:
var parsedDate = new Date(result[i].MyDate.match(/\d+/)[0] * 1);
var lineItem = {
x: parsedDate,
y: parseFloat(result[i].Value)
};
將x
設置為Date
對象。
根據Highcharts API的x值(對於一行),該值應以毫秒為單位。
x:數字
點的x值。 對於日期時間軸,X值是自1970年以來的時間戳(以毫秒為單位)。
因此,如果您改為執行以下操作:
var lineItem = {
x: result[i].MyDate.match(/\d+/)[0] * 1,
y: parseFloat(result[i].Value)
};
它應該工作。 (假設result[i].MyDate.match(/\\d+/)[0] * 1
為您提供時間,以毫秒為單位。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.