Vue接收map集合数据并显示在Ecahrts上
第一步:后端发送map集合的数据
@CrossOrigin @RestController @RequestMapping("/echarts") public class EchartsController { @Autowired private SubjectScoreService subjectScoreService; @GetMapping("/stuScore") public ResultVo stuScore() { Map<String, Object> map = new HashMap<>(); map = subjectScoreService.stuScore(); return CommonResult.success(map); } }
postman测试数据
第二步 在vue中引入echarts 并接受后端数据展示,将axios接收的数据传到x,y轴即可
<template> <div> <div id="main" :style="{ width: 600px, height: 600px }"></div> </div> </template> <script> import * as echarts from "echarts"; export default { data() { return { subject }; }, methods: {}, mounted() { var option; option = { grid: { containLabel: true, }, xAxis: { type: "category", data: [], }, yAxis: { type: "value", }, series: [ { data: [], type: "line", }, { data: [], type: "bar", }, ], }; var chartDom = document.getElementById("main"); var myChart = echarts.init(chartDom); axios.get("http://localhost:8088/echarts/stuScore").then((res) => { option.xAxis.data = res.data.data.x; option.series[0].data = res.data.data.y; option.series[1].data = res.data.data.y; myChart.setOption(option, true); }); }, }; </script> <style> .el-dropdown { vertical-align: top; } .el-dropdown + .el-dropdown { margin-left: 15px; } .el-icon-arrow-down { font-size: 12px; } </style>
页面展示
上一篇:
JS实现多线程数据分片下载