rw941123 2023-03-24 20:39 采纳率: 80%
浏览 32
已结题

ECharts怎么取出数据库的数据

我想取出数据库中的itemname和numbers放到x,y轴,请问应该怎么改呢?这是我现在的代码:

data() {
      xData: [],
      yData: [],

    }
  },


methods: {
    async getStockList() {
      const {data: res} = await this.$http.get("allStock", {params: this.queryInfo});
      this.stockList = res.data;//用户列表
      this.total = res.numbers;//总用户数
      this.xData = data.itemname;
      this.yData = data.numbers;

    },
}

getEchartData() {
      var myChart = echarts.init(document.getElementById('tiaoxing'));
      let option = {
        title: {
          text: "库存条形图"
        },
        xAxis: {

          data: this.xData
        },
        yAxis: {
          type: 'value'
        },
        series: [
          {
            data: this.yData,
            type: 'bar',
            showBackground: true,
            backgroundStyle: {
              color: 'rgba(180, 180, 180, 0.2)'
            }
          }
        ]
      }
      myChart.setOption(option);
    },
  }

 mounted() {
    this.getEchartData();
  },
  • 写回答

1条回答 默认 最新

  • IT_service_mesh 2023-03-24 20:45
    关注

    参考GPT和自己的思路:根据你提供的代码,我看到你已经从数据库中获取了数据,并将其存储在了stockList中。那么,要将itemnamenumbers分别作为x和y轴数据,你应该做一些改变。

    首先,在getStockList()方法中,将获取到的数据赋值给xDatayData数组的过程需要修改,代码如下:

    async getStockList() {
      const {data: res} = await this.$http.get("allStock", {params: this.queryInfo});
      this.stockList = res.data;//用户列表
      this.total = res.numbers;//总用户数
      this.xData = this.stockList.map(item => item.itemname);
      this.yData = this.stockList.map(item => item.numbers);
    },
    

    在这里,我使用了map()方法从stockList中获取到每个对象的itemnamenumbers属性,并将它们作为一个新的数组存储在xDatayData中。

    然后,在getEchartData()方法中,只需要将data属性改为xDatayData即可,如下所示:

    getEchartData() {
      var myChart = echarts.init(document.getElementById('tiaoxing'));
      let option = {
        title: {
          text: "库存条形图"
        },
        xAxis: {
          data: this.xData //修改这里
        },
        yAxis: {
          type: 'value'
        },
        series: [
          {
            data: this.yData, //修改这里
            type: 'bar',
            showBackground: true,
            backgroundStyle: {
              color: 'rgba(180, 180, 180, 0.2)'
            }
          }
        ]
      }
      myChart.setOption(option);
    },
    

    这样,你就可以将从数据库中获取的数据通过ECharts呈现在x轴和y轴上了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月1日
  • 已采纳回答 3月24日
  • 创建了问题 3月24日

悬赏问题

  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化