Highchartsを使用して円グラフを作成したいと思います。シリーズのカテゴリとデータは、2つのJava配列から取得されます。しかし、チャートはプロットされていません。2つの静的配列をjsfiddleのカテゴリとデータに渡すと、グラフがプロットされます。
Java配列を文字列に変換し、Highchartsで提供されているソリューションを使用して、JavaScript変数をシリーズデータソースとして使用する方法を試しましたか?。しかし、それはうまくいきませんでした。
誰かがエラーが何であるかを理解できますか?
$(function () {
var chart;
$(document).ready(function () {
var names = document.getElementById("listofnames").value;
var datas = document.getElementById("listofdata").value;
var c = names.split(",");
var d = datas.split(",");
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
title: {
text: 'Browser market shares at a specific website, 2010'
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage}%</b>',
percentageDecimals: 1
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: false
},
showInLegend: true
}
},
series: [{
type: 'pie',
name: 'Browser share',
categories : c,
data: d
}]
});
});
});
</script>
</head>
<div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div>
<s:hidden name="listofnames" id="listofnames" value="%{NameList}"/>
<s:hidden name="listofdata" id="listofdata" value="%{DataList}"/>
また、 Highchartプラグインで提案されているように、データを文字列としてシリーズに渡してみましたが、シリーズデータの配列を受け入れませんか?。これでも機能していません。
var names = document.getElementById("listofnames").value;
names = names.replace("[","");
names = names.replace("]","");
var datas = document.getElementById("listofdata").value;
datas = datas.replace("[","");
datas = datas.replace("]","");
var c = names.split(",");
var d = datas.split(",");
var datastring = "";
for(var i=0; i<c.length; i++){
datastring += "['"+c[i]+"',"+d[i]+"]";
}
series: [{
type: 'pie',
name: 'Browser share',
data: datastring
}]