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

相关文章

Java JUC并发集合详解之线程安全容器完全攻略

《JavaJUC并发集合详解之线程安全容器完全攻略》Java通过java.util.concurrent(JUC)包提供了一整套线程安全的并发容器,它们不仅是简单的同步包装,更是基于精妙并发算法构建... 目录一、为什么需要JUC并发集合?二、核心并发集合分类与详解三、选型指南:如何选择合适的并发容器?在多

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块

Spring Boot中获取IOC容器的多种方式

《SpringBoot中获取IOC容器的多种方式》本文主要介绍了SpringBoot中获取IOC容器的多种方式,包括直接注入、实现ApplicationContextAware接口、通过Spring... 目录1. 直接注入ApplicationContext2. 实现ApplicationContextA

linux配置podman阿里云容器镜像加速器详解

《linux配置podman阿里云容器镜像加速器详解》本文指导如何配置Podman使用阿里云容器镜像加速器:登录阿里云获取专属加速地址,修改Podman配置文件并移除https://前缀,最后拉取镜像... 目录1.下载podman2.获取阿里云个人容器镜像加速器地址3.更改podman配置文件4.使用po

k8s容器放开锁内存限制问题

《k8s容器放开锁内存限制问题》nccl-test容器运行mpirun时因NCCL_BUFFSIZE过大导致OOM,需通过修改docker服务配置文件,将LimitMEMLOCK设为infinity并... 目录问题问题确认放开容器max locked memory限制总结参考:https://Access

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

SQL Server 查询数据库及数据文件大小的方法

《SQLServer查询数据库及数据文件大小的方法》文章介绍了查询数据库大小的SQL方法及存储过程实现,涵盖当前数据库、所有数据库的总大小及文件明细,本文结合实例代码给大家介绍的非常详细,感兴趣的... 目录1. 直接使用SQL1.1 查询当前数据库大小1.2 查询所有数据库的大小1.3 查询每个数据库的详

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方