Highcharts系列数据阵列不工作

Highcharts系列数据阵列不工作,highcharts,Highcharts,从servlet中,我得到了3个数组activeArray、inActiveArray和rejectedArray。我想在java脚本中选择这些数组,并绘制一个高图,将类别绘制为血型名称,如a+、a-等。 序列名称将是活动的、非活动的和被拒绝的。 系列数据必须是上述阵列。 我只能获得类别,但无法绘制序列数据。我已经包括了下面的脚本代码 <script> var nameArray ="${nameArray}"; var bloodNames = [ <c:forEach

从servlet中,我得到了3个数组activeArray、inActiveArray和rejectedArray。我想在java脚本中选择这些数组,并绘制一个高图,将类别绘制为血型名称,如a+、a-等。 序列名称将是活动的非活动的被拒绝的。 系列数据必须是上述阵列。 我只能获得类别,但无法绘制序列数据。我已经包括了下面的脚本代码

<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
});

var nameArray=“${nameArray}”;
变量名=[
'',  
];
var activeValue=新数组();
活动值=[
'',  
];
var系列数据=[
{
名称:'活动',
数据:activeValue
},{
名称:'InActive',
数据:[3,01,03,0,0,0]
},
{
名称:'已拒绝',
数据:[4,01,03,0,2,0]
}
]
$(函数(){
var myChart=Highcharts.chart('容器'{
图表:{
类型:“列”
},
标题:{
文本:“Donar状态报告”
},
副标题:{
文字:“血名智慧”
},
xAxis:{
类别:
血名
,
十字准星:对
},
亚克斯:{
分:0,,
标题:{
文本:'人(计数)'
}
},
工具提示:{
headerFormat:“{point.key}”,
pointFormat:“{series.name}:”+
“{point.y:.1f}mm”,
页脚格式:“”,
分享:是的,
useHTML:true
},
打印选项:{
专栏:{
点填充:0.2,
边框宽度:0
}
},
系列:系列数据
});
}));

问题在于活动中数据周围的引号。柱状图需要一个整数作为数据。

您可以使用函数将字符串数组转换为数字数组。图表的其余部分正常

var-activeValue=[“1”、“3”、“2”、“2”、“1”、“2”、“0”、“1”、“0”、“0”]
activeValue=activeValue.map(数字)

log(activeValue)
我运行了您的代码,没有发现任何错误。工作正常。可能是您的SpringMVC(我认为是这样)脚本没有生成正确的值。通过警报(
alert(JSON.stringify(seriesData));
)检查序列数据警报显示如下[{“名称”:“活动”,“数据”:[“1”,“3”,“2”,“2”,“1”,“2”,“0”,“1”,“0”,“1”,“1”,“0”,“0”]},{“名称”:“非活动”,“数据”:[3,1,3,0,0]},{“名称”:“已拒绝”,“数据”:[4,1,3,0,0]}]。但是图表没有显示活动序列的任何数据;var activeSeriesData=activeString.replace(/\“/g”“”);这样,图表的x轴会在x轴的血液名称后面显示其他值,如10,11,12到20