一週前剛剛開始學習和使用Highcharts。在我的應用程序中,用戶從列表框中選擇一個鍵值,然後從該鍵中檢索一個值數組,並使用這些數據創建多個系列的線圖。在下面的屏幕截圖中,第一個系列(淺藍色)的名稱爲CDEP158,在第二個系列(黑色)中,系列名稱不應該是'Series 2',它應該是CDT158。第二個系列的'系列2'是這裏的問題。 Highcharts第二個系列名稱標記爲'系列2'?
這是圖表數據準備代碼,它接受來自點擊事件中調用的jquery post回調函數的dataChart
(結果)。創建Highchart的新實例及其配置
function plotChartData(dataseries, xtitle)
{
aeChart = new Highcharts.Chart({
chart: {
renderTo: 'svgtrendspace',
type: 'line',
zoomType: 'xy',
panning: true,
panKey: 'shift',
plotBorderWidth: 1
},
title: {
text: ''
},
legend: {
layout: 'horizontal',
align: 'left',
itemDistance: 10,
borderWidth: 0,
itemMarginTop: 0,
itemMarginBottom: 0,
padding: 20
},
plotOptions: {
series: {
states: {
hover: {
enabled: false
}
},
dataLabels: {
enabled: false,
format: '{y}'
},
allowPointSelect: false
}
},
xAxis: {
type: 'datetime',
labels: {
rotation: -65,
style: {
fontSize: '9px',
fontFamily: 'Verdana, sans-serif'
}
}
},
yAxis: {
gridLineColor: '#DDDDDD',
gridLineWidth: 0.5
},
series: [{
name: xtitle,
data: dataseries,
tooltip: {
pointFormat: '{series.name}: <b>{point.y}</b><br/>',
valueDecimals: 2
}
}]
});
};
function prepareChartData(dataChart)
{
var dataSeries = [];
var xTitle;
for (var i = 0; i < dataChart.length; i++) {
var items = dataChart[i];
var xDate = +moment(items.Time);
var seriesData = parseFloat(items.Value);
dataSeries.push([xDate, seriesData]);
xTitle = items.Name;
}
if (aeChart === undefined || aeChart === null)
{
plotChartData(dataSeries, xTitle);
return;
}
aeChart.addSeries({
title: xTitle,
data: dataSeries
});
};
功能,這是爲什麼第一個系列得到正確的名稱,但在第二個它沒有?我的highcharts配置是否錯誤?我應該如何正確配置或格式化以解決該問題?
我用它搜索了與多個系列相關的類似問題,但我找不到任何類似的問題或答案,可以幫助我。
任何幫助,非常感謝。
這是一個很好的建議,我將看看'console.log'的'xTitle'值。而且,我意識到'addSeries()'選項'title'屬性應該是'name'。我認爲這是真正的問題。但是,我將首先更改腳本並運行我的應用程序進行確認。 – Juniuz
是的,將'title'改爲'name'; –
@PawełFus,它現在可以工作。系列的實際名稱現在正確顯示。感謝您的幫助。 – Juniuz