当前位置: 首页 > news >正文

若依分离版 —引入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;}

 

http://www.lryc.cn/news/326270.html

相关文章:

  • Halcon深度学习项目实战
  • 子类中的方法去调用父类中的方法有几种形式?原生django如何向响应头写入数据
  • 数据安全治理框架构建
  • 深度学习十大算法之图神经网络(GNN)
  • 【工具类】git log 常用别名,git log 干活,git log常用参数
  • [linux] AttributeError: module ‘transformer_engine‘ has no attribute ‘pytorch‘
  • 前端面试题---->JavaScript
  • spring 的理解
  • 【Java程序设计】【C00384】基于(JavaWeb)Springboot的民航网上订票系统(有论文)
  • 如何查看局域网内所有的ip和对应的mac地址
  • 应用层协议 - HTTP
  • mysql安装及操作
  • 【计算机操作系统】深入探究CPU,PCB和进程工作原理
  • Pillow教程04:学习ImageDraw+Font字体+alpha composite方法,给图片添加文字水印
  • fastjson2 反序列化包含多层泛型结构的实体类
  • P6学习:解析P6 WBS-工作分解结构的原则
  • C++ empalce_back 和 push_back的区别
  • java1.8常考面试题
  • Java 中的业务是指什么?
  • 【MySQL】聊聊自增id用完怎么办?
  • 新能源汽车充电桩主板各模块成本占比解析
  • 【面试经典150 | 动态规划】三角形最小路径和
  • 【线段树二分】第十三届蓝桥杯省赛C++ A组/研究生组 Python 研究生组《扫描游戏》(C++)
  • 类模板与继承及成员、全局函数的实现
  • 怎么制作iOS证书
  • 图床项目实战:从零搭建一个简易图床
  • 双亲委派机制总结
  • C语言数据结构基础————二叉树学习笔记(四)简单的OJ题目练习
  • protobuf学习笔记(一):生成一个比较综合的message
  • [BT]BUUCTF刷题第8天(3.26)