0


若依项目制作饼状图和柱状图

这里的是根据年两分段做一个饼状图,根据性别人数制作柱状图

echarts+vue

饼状图

先写一个实体类,将查到的数据放在实体类中,写一个mapper->mapper.xml->controller
这里为了方便测试没有写service

实体类

在这里插入图片描述

mapper

在这里插入图片描述

mapper.xml
这里的SQL查到的值一定要和实体类定义的相同,要不然会报错,
SQL里的where del_flag = 0这里我是判断是否删除,可以不写

在这里插入图片描述

controller
这里的AjaxResult是若依自带的,将查到的数据返回到前端

在这里插入图片描述

前端饼状图

这里是写了按钮跳转

在这里插入图片描述
在这里插入图片描述

上张图片的@click里的值要和下面定义的相同

在这里插入图片描述

写完按钮,写pie页面

  1. <template><div id="myChart":style="{width: '800px', height: '600px'}"></div></template><script>import* as echarts from 'echarts';import{bing} from "@/api/system/member";
  2. export default{
  3. name:"pie",//参数data(){return{
  4. pName:[],//name值
  5. pValue:[]//value值}},mounted(){this.$nextTick(()=>{this.getList();})},created(){},
  6. methods:{getList(){bing().then(res =>{if(res.code ==200){this.myEachars(res.data);}})},//饼图myEachars(datm){var datas =[]for(let i =0; i < datm.length; i++){var item ={
  7. value: datm[i].value,
  8. name: datm[i].name,};
  9. datas.push(item);}
  10. console.log(datas);// 基于准备好的dom,初始化echarts实例var myChart = echarts.init(document.getElementById('myChart'));// 指定图表的配置项和数据var option ={
  11. legend:{
  12. top:'bottom'},
  13. tooltip:{
  14. trigger:'item'},
  15. toolbox:{
  16. show:true,
  17. feature:{
  18. mark:{ show:true},
  19. dataView:{ show:true, readOnly:false},
  20. restore:{ show:true},
  21. saveAsImage:{ show:true}}},
  22. series:[{
  23. name:"人数统计图",
  24. type:'pie',
  25. radius:[50,250],
  26. center:['50%','50%'],
  27. roseType:'area',
  28. itemStyle:{
  29. borderRadius:8},
  30. data:datas
  31. }]};// 使用刚指定的配置项和数据显示图表。
  32. myChart.setOption(option);}}}</script>

写完pie页面要写跳转和接口
index.js要找对位置,里面放的是跳转的页面,name值要和上面index.vue里name值相同

在这里插入图片描述

member.js是index.vue页面对应的js,是若依项目代码生成的
在member.js里写对应的后端接口

在这里插入图片描述

这里饼状图就算完成了

柱状图

思路和饼状图一样,这里直接放我写的代码

实体类

在这里插入图片描述

mapper

在这里插入图片描述

mapper.xml

在这里插入图片描述

controller

在这里插入图片描述

上面的跳转按钮

在这里插入图片描述

在这里插入图片描述

写zhu.vue

  1. <template><div class="echart" id="mychart":style="{width: '800px', height: '600px'}"></div></template><script>import* as echarts from "echarts";import{zhu} from "@/api/system/member";
  2. export default{
  3. name:"zhu",data(){return{
  4. myChartStyle:{float:"left", width:"100%", height:"400px"}//图表样式};},mounted(){this.$nextTick(()=>{this.list();});},created(){},
  5. methods:{list(){zhu().then(res =>{if(res.code==200){this.zhuzhuangtu(res.data);}else{//验证失败this.zhuzhuangtu(null);}})},zhuzhuangtu(datm){//参数拼接var datas =[]var xData=[]if(datm==null){
  6. datas.push(0,0);
  7. xData.push("男","女");}else{for(let i =0; i < datm.length; i++){var item ={
  8. value: datm[i].count,};var items ={
  9. value: datm[i].gender,};
  10. datas.push(item);
  11. xData.push(items);}}// 基本柱状图const option ={
  12. xAxis:{
  13. data: xData
  14. },
  15. yAxis:{},
  16. series:[{
  17. type:"bar",//形状为柱状图
  18. data: datas
  19. }]};const myChart = echarts.init(document.getElementById("mychart"));
  20. myChart.setOption(option);//随着屏幕大小调节图表
  21. window.addEventListener("resize",()=>{
  22. myChart.resize();});}}};</script>

在index.js写跳转页面

在这里插入图片描述

在member.js写后端接口

在这里插入图片描述

如果echarts不能使用,需要引入,这里就不写了,搜一下vue引入echarts就OK

下一篇讲一下若依点击菜单进入饼状图和柱状图


本文转载自: https://blog.csdn.net/zxcvbnmwad/article/details/128085535
版权归原作者 拧螺丝的舒克 所有, 如有侵权,请联系我们删除。

“若依项目制作饼状图和柱状图”的评论:

还没有评论