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 分钟前
html音视频和超链接标签,颜色标签
前端·html·音视频
lxh01135 分钟前
LRU 缓存
开发语言·前端·javascript
yangzhi_emo40 分钟前
ES6笔记5
前端·笔记·es6
wow_DG44 分钟前
【Vue2 ✨】Vue2 入门之旅 · 进阶篇(二):虚拟 DOM 与 Diff 算法
开发语言·javascript·vue.js·算法·前端框架
Hexene...2 小时前
【前端Vue】el-dialog关闭后黑色遮罩依然存在如何解决?
前端·javascript·vue.js·elementui·前端框架
Jay_See2 小时前
JC链客云——项目过程中获得的知识、遇到的问题及解决
前端·javascript·vue.js
普通码农2 小时前
Element Plus 数字输入框箭头隐藏方案
前端
草字2 小时前
css flex布局,设置flex-wrap:wrap换行后,如何保证子节点被内容撑高后,每一行的子节点高度一致。
前端·javascript·css
Slice_cy2 小时前
深入剖析Vue框架:实现精简的computed
前端