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

相关文章

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++中,规

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

如何评价Ubuntu 24.04 LTS? Ubuntu 24.04 LTS新功能亮点和重要变化

《如何评价Ubuntu24.04LTS?Ubuntu24.04LTS新功能亮点和重要变化》Ubuntu24.04LTS即将发布,带来一系列提升用户体验的显著功能,本文深入探讨了该版本的亮... Ubuntu 24.04 LTS,代号 Noble NumBAT,正式发布下载!如果你在使用 Ubuntu 23.

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

容器编排平台Kubernetes简介

目录 什么是K8s 为什么需要K8s 什么是容器(Contianer) K8s能做什么? K8s的架构原理  控制平面(Control plane)         kube-apiserver         etcd         kube-scheduler         kube-controller-manager         cloud-controlle