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);
        }
      })
    },

这是后端设置的数据

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

相关推荐
升鲜宝供应链及收银系统源代码服务2 小时前
《IntelliJ + Claude Code + Gemini + ChatGPT 实战配置手册升鲜宝》
java·前端·数据库·chatgpt·供应链系统·生鲜配送
i建模3 小时前
将Edge浏览器的标签页从顶部水平排列**移至左侧垂直侧边栏
前端·edge
跟着珅聪学java3 小时前
js编写中文转unicode 教程
前端·javascript·数据库
英俊潇洒美少年3 小时前
Vue3 深入响应式系统
前端·javascript·vue.js
颜酱3 小时前
回溯算法实战练习(3)
javascript·后端·算法
英俊潇洒美少年4 小时前
React 最核心 3 大底层原理:Fiber + Diff + 事件系统
前端·react.js·前端框架
我命由我123454 小时前
React Router 6 - 概述、基础路由、重定向、NavLink、路由表
前端·javascript·react.js·前端框架·ecmascript·html5·js
LJianK15 小时前
java封装
java·前端·数据库
yaaakaaang5 小时前
(四)前端,如此简单!---Promise
前端·javascript
aini_lovee5 小时前
C# 实现邮件发送源码(支持附件)
开发语言·javascript·c#