2017-06-05 80 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