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

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日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改