动态词云图已经get!!!

发布时间 2023-10-13 07:28:35作者: yesyes1

1、结果呈现(虽然并不好看)

2、使用spring+echarts实现(向前端传递list数据,前端改成json数据进行获取)

前端html代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>ECharts</title>
  <!-- 引入 echarts.js -->
  <script src="/js/echarts.min.js"></script>
  <script src="/js/jquery-3.1.1.js"></script>
  <script src="/js/china.js"></script>
  <script src="/js/echarts-wordcloud.js"></script>
</head>
<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 600px;height:400px;"></div>
<script type="text/javascript">
  // 基于准备好的dom,初始化echarts实例
  var myChart = echarts.init(document.getElementById('main'));
  //定义x轴、y轴数据
  var names=[];
  var counts=[];
  //请求后台数据
  $.ajax({
    type:"get",
    url:"/student/getList",
    contentType:"application/json",
    success:function (res){
      var size=res.length;
      console.log(size);
      // console.log(all);
      // console.log("======log======")
      // console.log(res);
      var mapdata=[];
      for(var i=0;i<res.length;i++){
        names.push(res[i].name);
        counts.push(res[i].count);

        mapdata.push({name:names[i],value:counts[i]});


        // alert(names[i]+"  "+counts[i]);
      }

      myChart.setOption({
        series: [{
          name:"人数",
          data:mapdata
        }]
      })
    }
  })

  // 指定图表的配置项和数据
  var option = {
    title: {
      text: '动态获取数据库数据'
    },
    tooltip: {},
    legend: {
      data:['数量']
    },
    series: [{
      name: '数量',
      type: 'wordCloud',
      data: []
    }]
  };



  // 使用刚指定的配置项和数据显示图表。
  myChart.setOption(option);
</script>
</body>
</html>

换成前两天从Python分词得来的数据:

ok~

我觉得主要的关键点是在这里:

之后将mapdata的json数据值赋到图表里面即可~~~