会嘛呀 2019-12-28 12:37 采纳率: 0%
浏览 1578

用Echarts制作饼图没有显示。

用Echarts制作饼图没有显示,pie页面代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript"
            src="js/jquery-1.11.3.js"></script>
    <script type="text/javascript"
            src="js/echarts.min.js"></script>

    <title>饼图例子</title>
</head>
<body>

<div id="mainChart" style="width: 600px;height:400px;">

</div>

<script type="text/javascript">
    //使用ajax加载数据
    $.ajax({
        method : 'post',
        url : 'pie',
        dataType : 'json',
        success : function(data) {//data格式:[{name:nameValue,value:valueVal},...]
            initChat(data);
        }
    });
    function initChat(data) {
        var myChart = echarts.init(document.getElementById('mainChart'));
        option = {
            backgroundColor: '#cccccc',
            color:["#D53A35","#296294"],
            title : {
                text : '用户性别聚合分析',
                x : 'center'
            },
            tooltip : {
                trigger : 'item',
                formatter : "{a} <br/>{b} : {c} ({d}%)"
            },
            legend : {
                orient : 'vertical',
                left : 'left',
                data : formatData(data).xAxData
            },
            series : [ {
                name : '男女数量',
                type : 'pie',
                radius : '55%',
                center : [ '50%', '60%' ],
                color:['#297ca3','#c35b3b'],
                data : formatData(data).serData,
                itemStyle : {
                    emphasis : {
                        shadowBlur : 10,
                        shadowOffsetX : 0,
                        shadowColor : 'rgba(0, 0, 0, 0.5)'
                    }
                }
            } ]
        };
        myChart.setOption(option, true);
    };
    function formatData(data) {
        var xAxData = [];
        var serData = [];

        for (var i = 0; i < data.length; i++) {
            xAxData.push(data[i].name || "");
            serData.push({
                name : data[i].name,
                value : data[i].value || 0
            });
        }

        return {
            xAxData : xAxData,
            serData : serData
        };
    };
</script>
</body>
</html>



我把这篇代码删掉,只输出个字符串,是可以显示的,把这个代码放上就不行了,我感觉应该是这篇代码的问题,我把Controller的代码放在下面:

package com.ssh.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Controller
public class EchartsController {

    @RequestMapping("/topie")
    public String toPie(){
        return "pie";
    }

    @RequestMapping(value="pie",method= RequestMethod.POST)
    @ResponseBody  //处理的是异步请求,并且响应的结果是json格式
    public List<Map<String, Object>> getPieData() {
        List<Map<String, Object>> data = new ArrayList<>();
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("name", "男");
        map.put("value", "20");
        data.add(map);
        map = new HashMap<String, Object>();
        map.put("name", "女");
        map.put("value", "30");
        data.add(map);
        return data;
    }
}

找了很久,也没找到问题,求大神帮助!!!!

我的项目目录如下:
图片说明

问题已解决:
应该是js文件没有引入,我开始调了很长时间都没有用,js那删了改 改了删
但最后还是和现在代码一样,但是可以显示了,昨天弄了很久都没弄出来,哎,具体原因,为什么会这样,我也不是很清楚,有懂得大神吗,求解答
结果现在是这样这样的
图片说明

  • 写回答

1条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境