融合piechart数据不显示(无数据显示)

Fusion piechart data not showing (No data to display)

本文关键字:显示 数据 piechart 融合      更新时间:2023-09-26

我已经编写了一个示例代码来显示示例饼图数据在codeigniter,但我得到没有数据显示在显示div,控制器功能是ok是返回正确的xml,建议

My controller function

   function getpieData() {
        $FC = $this->Charts();
        $strXML = "caption='Factory Output report' subCaption='By Quantity' pieSliceDepth='30' showBorder='1' formatNumberScale='0' numberSuffix=' Units' animation=1";
        $FC->setChartParams($strXML);
        $strQuery = $this->db->get('Factory_Master');
        $result = $strQuery->result();
        if ($result) {
            foreach ($result as $data) {
                $strQuery = $this->db->query("select sum(Quantity) as TotOutput from Factory_Output where FactoryId=$data->FactoryId");
                $result2 = $strQuery->result();
                foreach ($result2 as $ors) {
                    $FC->addChartData( $ors->TotOutput,"label=".$data->FactoryName);     
                }
                print $FC->getXML();
            }
        }
    }

返回xml

<chart caption='&apos;Factory Output report&apos; subCaption=&apos;By Quantity&apos; pieSliceDepth=&apos;30&apos; showBorder=&apos;1&apos; formatNumberScale=&apos;0&apos; numberSuffix=&apos; Units&apos; animation=1'  ><set  value='644' label='Factory 1'  /><set  value='2644' label='Factory 2'  /><set  value='1252' label='Factory 3'  /></chart>
我Html

 <script>
     function drawPieChart(chartSWF, strXML, chartdiv) {
    //Create another instance of the chart.
    var chart = new FusionCharts(chartSWF, "FactorySum", "600", "300", false, false); 
    chart.setDataXML(strXML);
    chart.render(chartdiv);
   }
   $().ready(function){
    $.get("<?php echo base_url();?>main_dashboard/getpieData/",function(data) {
        drawPieChart("<?php echo base_url();?>charts/Pie3D.swf", data, "gen-chart- render");
    });
}
</script>   

<div id="gen-chart-render">
                    <center>
                    </center>
                </div>

从控制器生成的XML似乎是错误的。

如果您使用$FC->setChartParams()方法来设置属性,您需要将它们作为单个字符串传递,并使用分隔符分隔属性列表。

Ref。代码:

 $strXML = "caption=Factory Output report;subCaption=By Quantity;pieSliceDepth=30; showBorder=1;formatNumberScale=0;numberSuffix=Units;animation=1";
 $FC->setChartParams($strXML);

详情请参阅链接