若依分离版 —引入echart连接Springboot后端

1. vue引入echart

(1)首先安装ECharts库。可以通过npm

npm install echarts --save

(2)在vue页面中添加一个容器元素来显示图表

<el-card class="mt20">
  <div id="ha" ref="main"></div>
</el-card>

(3)在vue页面中的script引入echart,使用import * as echarts from 'echarts'

并且连接后端数据

<script>
import * as echarts from 'echarts'
import { getlineChartData} from "@/api/echartdata";
export default {
  name: "Index",
  data() {
    return {

    };
  },
  mounted() {
    //加载后初始化图表
    this.initEcarts();
  },
  methods: {
    initEcarts() {
      // 初始化echarts实例
      let  myChart = echarts.init(this.$refs.main);
      getlineChartData().then(res => {
        console.log(res);
        console.log(res.axisData);
        console.log(res.seriesData1);
        console.log(res.seriesData2);
      let option = {
        title: {
          text: '每天数据'
        },
        //鼠标悬浮显示数字
        tooltip: {
          trigger: 'axis',
          axisPointer: {
            type: 'cross',
            label: {
              backgroundColor: '#6a7985'
            }
          }
        },
        legend: {
          data: ['联盟广告1', '联盟广告2']
        },
        xAxis: [
          {
            type: 'category',
            data: res.axisData,
          }
        ],
        yAxis: [
          {
            type: 'value'
          }
        ],
        series: [
          {
            name: '联盟广告1',
            type: 'line',
            data: res.seriesData1,
          },
          {
            name: '联盟广告2',
            type: 'line',
            data: res.seriesData2,
          }
        ]
      };
        if (option && myChart.setOption) {
          // 使用刚指定的配置项和数据显示图表。
          myChart.setOption(option);
        }
      });

    }
  }
};
</script>
(5)样式
<style scoped lang="scss">
#ha {
  width: 80%;
  height: 360px;

}
</style>
2. 后端Controller模拟接口
@GetMapping("/lineChartData")
public Map<String, Object> getLineChartData() {

Map<String, Object> model = new LinkedHashMap<>();
model.put("axisData", new String[]{"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"});
model.put("seriesData1", new Integer[]{120, 132, 101, 134, 190, 130, 120});
model.put("seriesData2", new Integer[]{220, 232, 101, 234, 290, 330, 220});
return model;
}
3. 后端查询数据

定义 :

public class EchartCount {

    public String name;
    public String count;

}

controller内容如下:

    @GetMapping("/lineChartData")
    public Map<String, Object> getLineChartData() {

        List<EchartCount> saimaCountList=tEchartServcie.getLiXiangData();
        Map<String, Object> model = new LinkedHashMap<>();
        model.put("axisData",    saimaCountList.stream().map(EchartCount::getName).collect(Collectors.toList()));
        model.put("seriesData1", saimaCountList.stream().map(EchartCount::getCount).collect(Collectors.toList()));
        model.put("seriesData2", 

        return model;
    }

 

相关推荐

  1. 分离引入echart连接Springboot

    2024-03-28 15:30:02       42 阅读
  2. 分离 自定义分页

    2024-03-28 15:30:02       27 阅读
  3. 框架:登陆(

    2024-03-28 15:30:02       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-28 15:30:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-28 15:30:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-28 15:30:02       82 阅读
  4. Python语言-面向对象

    2024-03-28 15:30:02       91 阅读

热门阅读

  1. openGauss的索引组织表

    2024-03-28 15:30:02       40 阅读
  2. pytorch常用的模块函数汇总(2)

    2024-03-28 15:30:02       37 阅读
  3. Spring设计模式-实战篇之责任链模式

    2024-03-28 15:30:02       43 阅读