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

相关文章

如何将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获取图片

C#中图片如何自适应pictureBox大小

《C#中图片如何自适应pictureBox大小》文章描述了如何在C#中实现图片自适应pictureBox大小,并展示修改前后的效果,修改步骤包括两步,作者分享了个人经验,希望对大家有所帮助... 目录C#图片自适应pictureBox大小编程修改步骤总结C#图片自适应pictureBox大小上图中“z轴

Spring核心思想之浅谈IoC容器与依赖倒置(DI)

《Spring核心思想之浅谈IoC容器与依赖倒置(DI)》文章介绍了Spring的IoC和DI机制,以及MyBatis的动态代理,通过注解和反射,Spring能够自动管理对象的创建和依赖注入,而MyB... 目录一、控制反转 IoC二、依赖倒置 DI1. 详细概念2. Spring 中 DI 的实现原理三、

深入理解C++ 空类大小

《深入理解C++空类大小》本文主要介绍了C++空类大小,规定空类大小为1字节,主要是为了保证对象的唯一性和可区分性,满足数组元素地址连续的要求,下面就来了解一下... 目录1. 保证对象的唯一性和可区分性2. 满足数组元素地址连续的要求3. 与C++的对象模型和内存管理机制相适配查看类对象内存在C++中,规