echarts当容器大小变化时跟着变

2024-06-05 16:28

本文主要是介绍echarts当容器大小变化时跟着变,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

<template><div ref="chartContainer" class="chart-container"><!-- 图表将渲染到这个容器中 --></div>
</template><script>
import * as echarts from "echarts";
import { bars } from "@/api/api";
export default {name: "EChartsComponent",data() {return {chart: null, // 用于存储ECharts实例barsData: [],};},mounted() {this.getdata();setInterval(() => {this.getdata();}, 120000);// this.initChart();window.addEventListener("resize", this.resizeChart);},// beforeUpdate() {//   window.removeEventListener("resize", this.resizeChart);// },// updated() {//   this.initChart();//   window.addEventListener("resize", this.resizeChart);// },beforeDestroy() {window.removeEventListener("resize", this.resizeChart);if (this.chart) {this.chart.dispose(); // 销毁图表实例}},methods: {getdata() {let obj = {t: "GetTestBars",f: "7",l: JSON.parse(window.localStorage.getItem("user")).LastSysLineID,testRoomCode: JSON.parse(window.localStorage.getItem("user")).TestRoomCode,};bars(obj).then((res) => {if (res.data.Flag == 1) {this.barsData = res.data.Data;this.initChart();}});},initChart() {const chartContainer = this.$refs.chartContainer;if (chartContainer) {const width = chartContainer.clientWidth;const height = chartContainer.clientHeight;if (this.chart) {this.chart.resize({width,height,});} else {this.chart = echarts.init(chartContainer);this.chart.setOption({// 设置ECharts图表配置title: {text: "配料签名信息",left: "center",top: "5%",textStyle: {color: "#01d1f2",fontSize: 16,},},tooltip: {trigger: "axis",},grid: {// 设置图表的布局位置height: "auto", // 柱状图向左偏移20%padding: [0, 0, 0, 5],bottom: "15%",},xAxis: {type: "category",data: ["试验", "批准", "领取", "监理"],axisLabel: {// 设置X轴标签的字体颜色color: "#01d1f2", // 红色// 设置X轴标签的字体大小fontSize: 13,},},yAxis: {type: "value",axisLabel: {// 设置X轴标签的字体颜色color: "#01d1f2", // 红色// 设置X轴标签的字体大小fontSize: 12,},},series: [{name: "已签数",type: "bar",data: this.barsData[0],itemStyle: {barBorderRadius: 12, // 左上角、右上角、右下角、左下角color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: "#fccb05" }, // 起点颜色{ offset: 1, color: "#f5804d" }, // 终点颜色]),},},{name: "待签数",type: "bar",data: this.barsData[1],itemStyle: {color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{offset: 0,color: "#8bd46e",},{offset: 1,color: "#09bcb7",},]),barBorderRadius: 11,},},{name: "超时数",type: "bar",data: this.barsData[2],itemStyle: {color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{offset: 0,color: "#248ff7",},{offset: 1,color: "#6851f1",},]),barBorderRadius: 11,},},],});window.dispatchEvent(new Event("resize")); // 触发resize事件以适应初始大小}}},resizeChart() {if (this.chart) {this.chart.resize(); // 当容器大小变化时,调用resize方法以适应新的宽高}},},
};
</script><style scoped>
.chart-container {width: 100%;height: 100%; /* 可以设置具体的像素值,或者相对值(如vh, vw, %等) */
}
</style>

第二种简单点

let myChart = echarts.init(document.getElementById("mychart"));
myChart.setOption(option);
//随着屏幕大小调节图表
window.addEventListener("resize", () => {myChart.resize();
});

这篇关于echarts当容器大小变化时跟着变的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1033572

相关文章

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf

如何高效移除C++关联容器中的元素

《如何高效移除C++关联容器中的元素》关联容器和顺序容器有着很大不同,关联容器中的元素是按照关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的,本文介绍了如何高效移除C+... 目录一、简介二、移除给定位置的元素三、移除与特定键值等价的元素四、移除满足特android定条件的元

详解C++中类的大小决定因数

《详解C++中类的大小决定因数》类的大小受多个因素影响,主要包括成员变量、对齐方式、继承关系、虚函数表等,下面就来介绍一下,具有一定的参考价值,感兴趣的可以了解一下... 目录1. 非静态数据成员示例:2. 数据对齐(Padding)示例:3. 虚函数(vtable 指针)示例:4. 继承普通继承虚继承5.

如何将Tomcat容器替换为Jetty容器

《如何将Tomcat容器替换为Jetty容器》:本文主要介绍如何将Tomcat容器替换为Jetty容器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat容器替换为Jetty容器修改Maven依赖配置文件调整(可选)重新构建和运行总结Tomcat容器替

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

MySQL8.0设置redo缓存大小的实现

《MySQL8.0设置redo缓存大小的实现》本文主要在MySQL8.0.30及之后版本中使用innodb_redo_log_capacity参数在线更改redo缓存文件大小,下面就来介绍一下,具有一... mysql 8.0.30及之后版本可以使用innodb_redo_log_capacity参数来更改

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

java获取图片的大小、宽度、高度方式

《java获取图片的大小、宽度、高度方式》文章介绍了如何将File对象转换为MultipartFile对象的过程,并分享了个人经验,希望能为读者提供参考... 目China编程录Java获取图片的大小、宽度、高度File对象(该对象里面是图片)MultipartFile对象(该对象里面是图片)总结java获取图片