XMLファイルを読み取って読み込んでいるjqPlot円グラフがあります。ただし、スライスの配列を動的にロードすると、円グラフは正しくレンダリングされません。配列をハードコーディングすると、正しくレンダリングされるように見えます。
配列を取得するために使用するコードは次のとおりです。
function loadSlices(xml)
{
slices = new Array();
$(xml).find("category").each(
function()
{
$(this).find("slice").each(
function()
{
slice = new Array($(this).attr("name"));
slice.push($(this).attr("size"));
slices.push(slice);
}
);
}
);
return slices;
}
チャートをロードするコードは次のとおりです。
function pieChart(name,xmlurl)
{
$.get(xmlurl,function(xml)
{
loadSize(name,xml);
slices= new Array();
slices.push(loadSlices(xml));
$("#debug").append("\nSLICES ARR (getting ready to load):");
debug2dArray(slices);
//debug2dArray(slices)
//now load in the pie chart
var plot1 = $.jqplot(name,[slices],
{
seriesDefaults:{
renderer: $.jqplot.PieRenderer,
rendererOptions:{
showDataLables: true
},
}
});
});//end get AJAX request
}
スライス配列をハードコーディングすると、[[["PB&J",2],["Ham",1]]]
完全に正常に機能します。どんな助けでもいただければ幸いです。
更新
XML
<chart>
<size width="450px" height="200px"/>
<category>
<slice name="PB&J" size="3" />
<slice name="Ham" size="1" />
</category>
</chart>