如何用java整合echarts生成饼图

Python011

如何用java整合echarts生成饼图,第1张

首先要把echarts所需的js和swf文件导入进去

  //后台拼图标所需xml

  StringBuffer outXml = new StringBuffer()//任务列表xml字符串

  @Action("/task/loadMyTaskPercentXml")

    public String loadMyTaskPercentXml()

    {

        HttpServletResponse res = ServletActionContext.getResponse()

        res.setHeader("Cache-Control", "no-store")

        res.setHeader("Pragma", "no-cache")

        res.setDateHeader("Expires", 0)

        res.setContentType("text/xmlcharset=GBK")

        PrintWriter out = res.getWriter()

        StringBuffer outXml = new StringBuffer(

            "<?xml version=\"1.0\" encoding=\"GBK\"?>\n")

        outXml

            .append("<chart baseFontSize=\'12\' caption=\'任务统计\' subcaption=\'\'  yAxisMinValue=\'51650.1\' yAxisMaxValue=\'71118.3\' xaxisname=\'日期\' yaxisname=\'数量\' hovercapbg=\'FFECAA\' hovercapborder=\'F47E00\' formatNumberScale=\'0\'  decimalPrecision=\'0\' showvalues=\'1\' numdivlines=\'10\' numVdivlines=\'0\' shownames=\'1\' rotateNames=\'1\'>")

        outXml.append("\n")

        outXml.append("<set name=\'已完成任务(%)")

        outXml.append("\' value=\'" + s1.replace("%", "") + "")

        outXml.append("\' />")

        outXml.append("\n")

        outXml.append("<set name=\'未完成任务(%)")

        outXml.append("\' value=\'" + s2.replace("%", "") + "")

        outXml.append("\' />")

        outXml.append("\n")

        outXml.append("</chart>\n")

        out.print(outXml.toString())

        out.flush()

        out.close()

        return null

    }

    在后台进行拼装xml,并且返回到页面

    <div style="display:none" id="taskListGraph">${outXml}</div>

    <script  type="text/javascript">

        var text= document.getElementById("taskListGraph").innerHTML

var chart2 = new FusionCharts("${base}/swf/Bar2D.swf?ChartNoDataText=暂无数据&XMLLoadingText=正在载入数据,请稍候", "chart02", "610", "276")

chart2.setDataXML(text)

chart2.render('jdbox')

chart2.addParam("wmode", "Opaque")

    </script>

    这样图就生成好了!

使用echarts,只需要导入这个包就可以了

<!-- echarts报表图形 -->

<script src="static/common/js/echarts.js" type="text/javascript"></script>

你报的错误好像是读取了一个未定义的属性“gexf”

可以去官网下载它的资源包,然后根据自己想要的图,在官网找到它的js,一般的数据都是改它js里面的一段json数组,你只要在后台通过sql语句拿到数据,用json数组格式传到前台就可以了。