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

这是后端设置的数据

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

相关推荐
liliangcsdn2 分钟前
mac mlx大模型框架的安装和使用
java·前端·人工智能·python·macos
CssHero5 分钟前
基于vue3完成领域模型架构建设
前端
PanZonghui8 分钟前
用项目说话:我的React博客构建成果与经验复盘
前端·react.js·typescript
挽淚10 分钟前
JavaScript 数组详解:从入门到精通
javascript
言兴11 分钟前
教你如何理解useContext加上useReducer
前端·javascript·面试
sunbyte15 分钟前
50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | GoodCheapFast(Good - Cheap - Fast三选二开关)
前端·javascript·css·vue.js·tailwindcss
前端的日常16 分钟前
网页视频录制新技巧,代码实现超简单!
前端
前端的日常18 分钟前
什么是 TypeScript 中的泛型?请给出一个使用泛型的示例。
前端
今禾19 分钟前
一行代码引发的血案:new Array(5) 到底发生了什么?
前端·javascript·算法
ccc101822 分钟前
老师问我localhost和127.0.0.1,有什么区别?
前端