springboot,vue,echart,mysql数据可视化-男女比例图-需求数据不存储在数据库中

Posted 程序猿向前跑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot,vue,echart,mysql数据可视化-男女比例图-需求数据不存储在数据库中相关的知识,希望对你有一定的参考价值。

由于自己的项目需要大数据可视化,所以就得学习,对于数据的处理就是一个难事,我在想如何对男女这个数据进行处理,因为两个数据不可能专门为此数据建一张表去存储,所以我就想到需要hashmap这种形式去存储,应为hashmap的特性,所以我将hashmap的键值对转换为list,用户的性别男女是存储在用户表中的,需要使用sql去计算男女人数。代码如下:

后端代码:
controller:

package com.controller;

import com.alibaba.fastjson.JSON;
import com.entity.Problem;
import com.entity.R;
import com.github.pagehelper.PageInfo;
import com.service.DrugInfoService;
import com.service.YonghuService;
import com.service.impl.YonghuServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.*;

@RequestMapping("/dashuju")
@RestController
public class DashujuController 
    @Autowired
    private YonghuService yonghuService;

    @RequestMapping("/getnannv")
    public R list2() 
        String sex="男";
        String sex1="女";
        HashMap<String,Object> map=new HashMap<>();
        List<String> name=new ArrayList<>();
        List<Integer> value=new ArrayList<>();
        int man=yonghuService.getyonghunan(sex);
        int woman=yonghuService.getyonghunan(sex1);
        name.add(sex);
        name.add(sex1);
        value.add(man);
        value.add(woman);
        map.put("name",name);
        map.put("value",value);
        System.out.println(map);
        System.out.println(map);
        return R.ok().put("data",map);
    




Dao层
部分代码:

//   大数据展示数据
   int getyonghunan(String xingbie);

mybatis.xml

用于统计数据的男女总数

<select id="getyonghunan" parameterType="com.entity.Yonghu"  resultType="java.lang.Integer">
		SELECT COUNT(*)
		FROM yonghu AS s
		WHERE s.xingbie =#xingbie
	</select>

前端核心代码:
对于echart的安装需要自己去安装,我就不在写了

<template>
  <div>
    <div class="logo">
      <p>大数据展示</p>

    </div>
    <div id="myChart" :style="width: '300px', height: '300px'"></div>
<!--    <button @click="draw">点击刷新</button>-->
  </div>


</template>

<script>
export default 
  name: 'dashuju',
  data () 
    return 
      name: [],
      value: [],
    
  ,
  mounted()
    this.drawLine();
  ,
  created() 
    this.draw();
  ,
  methods: 
    drawLine()
      // 基于准备好的dom,初始化echarts实例
      let myChart = this.$echarts.init(document.getElementById('myChart'))
      // 绘制图表
      myChart.setOption(
        title:  text: '使用性别比例' ,
        tooltip: ,
        xAxis: 
          data: this.name
        ,
        yAxis: ,
        series: [
          name: '人数',
          type: 'bar',
          data: this.value
        ]
      );
    ,
    draw()
      this.$http(
        url: "dashuju/getnannv",
        method: "get",
      ).then((data) => 
        if (data && data.code === 0) 
          console.log(data.data)
          console.log(data.data)
          this.name=data.data.name;
          this.value=data.data.value;
          console.log(this.name)
          console.log(this.value)
          this.drawLine()
        
      )
    
  

</script>

<style scoped>
.logo
  text-align: center;
  font-size: 30px;
  margin-bottom: 20px;

</style>




大功完成,哈哈哈,点个赞在走呗

以上是关于springboot,vue,echart,mysql数据可视化-男女比例图-需求数据不存储在数据库中的主要内容,如果未能解决你的问题,请参考以下文章

计算机毕业设计之SpringBoot+Vue.js国内疫情实时追踪可视化系统 疫情可视化 疫情数据分析平台

Echart图表在项目中如何使用?(前后端详细技术讲解)

Echart图表在项目中如何使用?(前后端详细技术讲解)

Echart图表在项目中如何使用?(前后端详细技术讲解)

vue使用ECharts图表插件/Vue-ECharts

Vue使用vue-echarts图表