Vue2中使用echarts,并从后端获取数据同步

一、安装echarts

复制代码
npm install echarts -S 

二、导入echarts

在script中导入,比如:

复制代码
import * as echarts from "echarts";

三、查找要用的示例

比如柱状图

四、初始化并挂载

javascript 复制代码
<template>
  <div id="total-orders-chart" style="width: 800px; height: 600px"></div>
</template>
<script>
import * as echarts from "echarts";
export default {
  mounted() {
    this.options()
  },
  methods: {
    /**
     * init方法
     */
    options() {
      const chart = echarts.init(document.getElementById("total-orders-chart"));
      // 指定图表的配置项和数据
      var option = {
        xAxis: {
          type: "category",
          data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], //横坐标显示什么可以是返回来的数据可以进行数据过滤
        },
        yAxis: {
          type: "value",
        },
        series: [
          {
            data: [820, 932, 901, 934, 1290, 1330, 1320],  //纵坐标显示
            type: "line",
            smooth: true,
          },
        ],
      };
      // 使用刚指定的配置项和数据显示图表。
      chart.setOption(option);
    },
  },
};
</script>

显示成功

五、使用axios来从数据库中获取数据

调用getLineChartData进行http请求访问

javascript 复制代码
//获取折线图数据
export function getLineChartData(){
  return http({
    url: '/data/getLineChartData',
    method: 'get'
  })
}

拿到返回的数据后,把值赋值给series数组[0]的data数据即可

javascript 复制代码
initLineChart() {
      getLineChartData().then(resp=>{
        if(resp.data.code===200){
          const chart = echarts.init(document.getElementById("total-orders-chart"));
          // 指定图表的配置项和数据
          var option = {
            title: {
              text: '登录数据',
              subtext: '过去一周每天登录次数',
              left: 'center'
            },
            xAxis: {
              type: 'category',
              data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
            },
            yAxis: {
              type: 'value'
            },
            series: [
              {
                data: resp.data.data,
                type: 'line'
              }
            ]
          };
          // 使用刚指定的配置项和数据显示图表。
          chart.setOption(option);
        }
      })
    },

这是后端设置的数据

最终显示效果图,与数据吻合一致

相关推荐
mCell16 小时前
GSAP ScrollTrigger 详解
前端·javascript·动效
gnip16 小时前
Node.js 子进程:child_process
前端·javascript
excel19 小时前
为什么在 Three.js 中平面能产生“起伏效果”?
前端
excel20 小时前
Node.js 断言与测试框架示例对比
前端
天蓝色的鱼鱼1 天前
前端开发者的组件设计之痛:为什么我的组件总是难以维护?
前端·react.js
codingandsleeping1 天前
使用orval自动拉取swagger文档并生成ts接口
前端·javascript
石金龙1 天前
[译] Composition in CSS
前端·css
白水清风1 天前
微前端学习记录(qiankun、wujie、micro-app)
前端·javascript·前端工程化
Ticnix1 天前
函数封装实现Echarts多表渲染/叠加渲染
前端·echarts
用户22152044278001 天前
new、原型和原型链浅析
前端·javascript