eCharts图表--(扇形 and 折线)

打印 上一主题 下一主题

主题 912|帖子 912|积分 2736

前端步调:
1.引入需要的文件
2.设置一个有巨细的盒子
3.设置数据,创建一个方法,发送请求(分析需要的数据,统计店铺和用户的总数占比)
4.接收到数据给定义的变量接着
5.初始化就加载图形new echarts.init(document.getElementById('pieBox'))给一个变量
6.最后在myChart.setOption({})中写复制粘贴过来的东西,把定义死的数据用请求接收过来的变量赋值,并更改需要修改的地方
1.扇形



  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4.     <title>Title</title>
  5.     <%--引入vue--%>
  6.     <%--引入vue文件:必须先引入vue--%>
  7.     <script src="https://unpkg.com/vue@2/dist/vue.js"></script>
  8.     <%--引入axios文件--%>
  9.     <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
  10.     <!-- 引入样式 -->
  11.     <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
  12.     <!-- 引入组件库 -->
  13.     <script src="https://unpkg.com/element-ui/lib/index.js"></script>
  14.     <script src="/js/qs.min.js"></script>
  15.     <script src="/js/echarts.min.js"></script>
  16. </head>
  17. <body>
  18. <div id="app">
  19.     <div id="pieBox" style="width: 600px; height: 400px;"></div>
  20. </div>
  21. <script>
  22.     let app = new Vue({
  23.         el: "#app",
  24.         data: {
  25.         },
  26.         created() {
  27.             this.showPie()
  28.         },
  29.         methods: {
  30.             showPie() {
  31.                 // console.log(111)
  32.                 axios.get("/count/lis").then(msg => {
  33.                     //店铺
  34.                     console.log(msg.data.data)
  35.                     var pieData = msg.data.data;
  36.                     var myChart = new echarts.init(document.getElementById('pieBox'));
  37.                     myChart.setOption({
  38.                         title: {
  39.                             text: '用户商家统计对比',
  40.                             subtext: '数量比例',
  41.                             left: 'center'
  42.                         },
  43.                         tooltip: {
  44.                             trigger: 'item'
  45.                         },
  46.                         legend: {
  47.                             orient: 'vertical',
  48.                             left: 'left'
  49.                         },
  50.                         series: [
  51.                             {
  52.                                 name: '投票数',
  53.                                 type: 'pie',
  54.                                 radius: '50%',
  55.                                 data: pieData,
  56.                                 emphasis: {
  57.                                     itemStyle: {
  58.                                         shadowBlur: 10,
  59.                                         shadowOffsetX: 0,
  60.                                         shadowColor: 'rgba(0, 0, 0, 0.5)'
  61.                                     }
  62.                                 }
  63.                             }
  64.                         ]
  65.                     });
  66.                 });
  67.             }
  68.         }
  69.     })
  70. </script>
  71. </body>
  72. </html>
复制代码
后端步调:
首先定义一个vo类,扇形图需要的参数--当作返回(泛型)类型


1.mapper、mapper.xml--求出店铺的总数目、用户的总数目

2.在impl业务实现层处理业务


3.最后在控制层调用接口层方法


2.折线图



  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4.     <title>Title</title>
  5.     <%--引入vue文件:必须先引入vue--%>
  6.     <script src="https://unpkg.com/vue@2/dist/vue.js"></script>
  7.     <%--引入axios文件--%>
  8.     <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
  9.     <!-- 引入样式 -->
  10.     <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
  11.     <!-- 引入组件库 -->
  12.     <script src="https://unpkg.com/element-ui/lib/index.js"></script>
  13.     <script src="/js/qs.min.js"></script>
  14.     <script src="/js/echarts.min.js"></script>
  15. </head>
  16. <body>
  17. <div id="app">
  18.     <div id="zhuBox" style="width: 800px; height: 400px;"></div>
  19. </div>
  20. <script>
  21.     let app = new Vue({
  22.         el: "#app",
  23.         data: {
  24.         },
  25.         created() {
  26.             this.showZhu()
  27.         },
  28.         methods: {
  29.             //图
  30.             showZhu(){
  31.                 axios.get("/count/th").then(msg=>{
  32.                     var zhuData=msg.data.data;
  33.                     var myChart = echarts.init(document.getElementById('zhuBox'));
  34.                     myChart.setOption({
  35.                         title: {
  36.                             text: '店铺收入数量'
  37.                         },
  38.                         tooltip: {},
  39.                         legend: {},
  40.                         xAxis: {
  41.                             data: zhuData.xdata
  42.                         },
  43.                         yAxis: {},
  44.                         series: [
  45.                             {
  46.                                 name: '数量',
  47.                                 type: 'bar',
  48.                                 data: zhuData.ydata
  49.                             }
  50.                         ]
  51.                     });
  52.                 });
  53.             },
  54.         }
  55.     })
  56. </script>
  57. </body>
  58. </html>
复制代码
zhuData类


1.mapper、mapper.xml




2.impl实现业务层


3.控制层



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

tsx81429

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表