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