当前位置: 首页 > 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;}

 

相关文章:

  • 南京观海微电子---Vitis HLS的工作机制——Vitis HLS教程
  • 51单片机学习9 串口通讯
  • 为wordpress特定分类目录下的内容添加自定义字段
  • 2021年XX省赛职业院校技能大赛”高职组 计算机网络应用赛项 网络构建模块竞赛真题
  • vscode使用Runner插件将.exe文件统一放到一个目录下
  • git基础-tagging
  • 【服务器】常见服务器高危端口
  • 爬取搜狗翻译项目实例
  • 网络协议栈--传输层--UDP/TCP协议
  • 简单的查看iPhone储存空间的几种方法,总有一种是你想要的
  • nginx mirror 流量镜像
  • [flask]http请求//获取请求头信息+客户端信息
  • 【C++】手撕哈希表的闭散列和开散列
  • Day08 Java复习8 Spring MVC概念
  • 蓝桥杯刷题-day5-动态规划
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 【EOS】Cleos基础
  • 10个确保微服务与容器安全的最佳实践
  • Apache Zeppelin在Apache Trafodion上的可视化
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • create-react-app项目添加less配置
  • es6(二):字符串的扩展
  • Java多态
  • JS+CSS实现数字滚动
  • Shell编程
  • Terraform入门 - 1. 安装Terraform
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 记一次删除Git记录中的大文件的过程
  • 聊聊sentinel的DegradeSlot
  • 昨天1024程序员节,我故意写了个死循环~
  • ​​​​​​​​​​​​​​Γ函数
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • # C++之functional库用法整理
  • #WEB前端(HTML属性)
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (超详细)语音信号处理之特征提取
  • (生成器)yield与(迭代器)generator
  • (四)JPA - JQPL 实现增删改查
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)项目管理杂谈-我所期望的新人
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .apk文件,IIS不支持下载解决
  • .cn根服务器被攻击之后
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET Core 中的路径问题
  • .NET MVC第五章、模型绑定获取表单数据
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .NET构架之我见
  • .net与java建立WebService再互相调用
  • .php文件都打不开,打不开php文件怎么办
  • @JsonSerialize注解的使用