2017-06-05 131 views
0

從servlet中我回來了3個數組activeArray,inActiveArray和rejectedArray。我想在java腳本中選擇這些數組,並拿出一個高圖表,將血型名稱繪製爲A +,A-等。 該系列名稱將爲有效,無效被拒絕。 該系列數據必須是上面提到的數組。 我能夠實現只有類別,但系列數據不會被繪製。我已經在下面包含了腳本代碼。Highcharts系列數據陣列不工作

<script> 
var nameArray ="${nameArray}"; 


var bloodNames = [ 
<c:forEach items="${nameArray}" var="name"> 
    '<c:out value="${name}" />', 
</c:forEach> 
]; 


var activeValue = new Array(); 
activeValue = [ 
<c:forEach items="${activeArray}" var="data"> 
    '<c:out value="${data}" />', 
</c:forEach> 
]; 


var seriesData = [ 
    { 
     name: 'Active', 
     data:activeValue 
    },{ 
     name:'InActive', 
     data:[3, 01, 03,0,0,0] 
    }, 
    { 
     name:'Rejected', 
     data:[4, 01, 03,0,2,0] 
    } 
] 
$(function() { 
var myChart = Highcharts.chart('container', { 
chart: { 
    type: 'column' 
}, 
title: { 
    text: 'Donar Status Report' 
}, 
subtitle: { 
    text: 'Blood Name Wise' 
}, 
xAxis: { 
    categories: 
     bloodNames 
    , 
    crosshair: true 
}, 
yAxis: { 
    min: 0, 
    title: { 
     text: 'Person (in Counts)' 
    } 
}, 
tooltip: { 
    headerFormat: '<span style="font-size:10px">{point.key}</span><table>', 
    pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' + 
     '<td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>', 
    footerFormat: '</table>', 
    shared: true, 
    useHTML: true 
}, 
plotOptions: { 
    column: { 
     pointPadding: 0.2, 
     borderWidth: 0 
    } 
}, 
series: seriesData 
}); 

});

+0

我運行你的代碼,我沒有看到任何錯誤。它的工作正常。可能是你的春天MVC(我就是這樣)腳本不會生成正確的值。 (警報(JSON.stringify(seriesData));') –

+0

警報顯示如下[[「name」:「Active」,「data」:[「1」,「3」 , 「2」, 「2」, 「1」, 「2」, 「0」, 「1」, 「0」, 「0」]},{ 「名稱」: 「無效」, 「數據」:[3 ,1,3,0,0,0]},{ 「名稱」: 「拒絕」, 「數據」:[4,1,3,0,2,0]}]。但是圖表不顯示Active系列的任何數據。 – Sabareesh

+0

懷疑活動數據中的雙引號,我做了以下更改,var activeString = JSON.stringify(activeValue); var activeEventData = activeString.replace(/ \「/ g,」「);通過這種方式,圖表的x軸在x軸的血液名稱後面顯示了額外的值,如10,11,12至20 – Sabareesh

回答

0

可以使用Map函數的字符串數組轉換成圖表的number.Rest的陣列是確定

var activeValue= ["1","3","2","2","1","2","0","1","0","0"] 
 
activeValue=activeValue.map(Number) 
 
console.log(activeValue)

1

活動中的數據引用是引發問題的原因。列圖將整數視爲數據。

+0

感謝它的工作! – Sabareesh