解决echarts图表随窗口宽度变化而改变图表的大小

news/2025/2/13 21:34:08/

文章目录

  • 前言
  • 一、演示前后对比效果
  • 二、解決方法
    • 1.在代码结尾加上监听方法
    • 2.示例
  • 三、总结
  • 扩展问题


前言

很多同学在使用echarts时遇到了浏览器窗口大小发生变化时,图表大小没有自适应窗口的宽度,下面我将对比演示随着窗口大小变化,echarts图表也发生变化的例子


一、演示前后对比效果

没有设置宽度自适应的效果
在这里插入图片描述
设置了宽度自适应效果
在这里插入图片描述

二、解決方法

1.在代码结尾加上监听方法

代码如下(示例):

// 为窗口加上宽度变化事件,当宽高发生改变时,调用echarts的resize()方法,调整图表尺寸window.addEventListener('resize', function () {myChart.resize();})

2.示例

前端代码

<div class="char" style="height: 100vh;width: 100vw"></div>

js代码

import * as echarts from 'echarts';
var myChart;
var option;
function initShopYearAmount(data) {// 先从dom中获取已经创建的echarts实例,避免过度初始化导致报错myChart = echarts.getInstanceByDom(document.getElementById('char'));if (myChart == undefined) {// 初始化echartsmyChart = echarts.init(document.getElementById('char'));}option = {title: {text: '订单总金额(元)',left: 'center',top: '3%'},grid: {left: '3%',right: '4%',bottom: '5%',top: '15%',containLabel: true},xAxis: {type: 'category',data: [1,2,3,4,5],axisLabel: {fontSize: 16,color: '#333333'}},yAxis: {type: 'value',axisLabel: {fontSize: 16,color: '#999999'},splitLine: {show: true,lineStyle: {type: 'dashed'}}},series: [{name: '销售额(元)',data: [0,100,200,20,5],type: 'bar',color: '#FF7519',barWidth: 28,label: {show: true,color: '#FF7519',position: 'top',fontSize: 18}}]};option && myChart.setOption(option);// 为窗口加上宽度变化事件,当宽高发生改变时,调用echarts的resize()方法,调整图表尺寸window.addEventListener('resize', function () {myChart.resize();})
}

三、总结

以上解决方法都是从官方文档中可以找出,如下图:
在这里插入图片描述
在遇到类似问题时可以搜索官方文档寻找问题的解决方案
在这里插入图片描述

扩展问题

1.在使用echart时,需要查看某个数据的图表,第一次打开弹窗时图表还显示,第二次页面就变空白了。
例如我要点击查看某个业务员的业绩,刚打开时可以显示,点击多次页面就显示空白了
在这里插入图片描述
原因是页面的echarts实例没有被销毁,这时候你又去初始化它,才会导致这样的
先看一下官方的这个方法
在这里插入图片描述
在我们关闭窗口时调用一下销毁实例,第二次打开就可以正常显示出内容了

myChar.dispose()

http://www.ppmy.cn/news/59961.html

相关文章

container的讲解

我们做开发经常会遇到这样的一个需求&#xff0c;要开发一个响应式的网站&#xff0c;但是我们需要我们的元素样式跟随着我们的元素尺寸大小变化而变化。而我们常用的媒体查询&#xff08;Media Queries&#xff09;检测的是视窗的宽高&#xff0c;根本无法满足我们的业务需求&…

urllib爬取图片

使用 urllib 库来爬取图片 import urllib.request# 图片的 URL 链接 image_url "http://img.netbian.com/file/2023/0415/235643ofSA0.jpg"# 获取图片并保存到指定路径 urllib.request.urlretrieve(image_url, "image.jpg")这段代码中&#xff0c;首先指定…

分析linux中动态库so文件的常用方法

前言 在linux系统中&#xff0c;我们经常会遇到各种各样的动态库文件&#xff0c;常见的是.so后缀&#xff0c;那么我们应该如何分析这些文件的用途和作用呢&#xff1f;毕竟我们不能一知半解的“搞事情”。 正文 查看文件属性 首先&#xff0c;我们从整体上了解一下该文件的基…

【Unity-UGUI控件全面解析】| Toggle 开关组件详解

🎬【Unity-UGUI控件全面解析】| Toggle 开关组件详解一、组件介绍二、组件属性面板三、代码操作组件四、组件常用方法示例4.1 监听开关事件五、组件相关扩展使用5.1 配合Toggle Group组使用💯总结🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y …

车载搭载SystemUI音频技术,全方位呈现高品质音效

SystemUI概述 SystemUI 是 Android 操作系统中的一个系统服务&#xff0c;主要负责管理和显示系统界面元素&#xff0c;例如状态栏、通知栏、键盘和屏幕截图等。SystemUI 系统服务是系统级别的组件&#xff0c;提供的功能对于用户体验和系统安全性都非常重要。 SystemUI 的主…

DP练习题

1.减操作(ACWING) 若有 a b c d e f g 几个数&#xff0c; 先对位置d操作 变成 a b c d - e f g 再对c操作 变成 a b c - (d-e) f g 仔细分析后得出结论&#xff1a;对于第一个数如a, 它一定为正数&#xff0c;第二个数b,一定为负数&#…

三维数据学习笔记:ply数据内容介绍

目录 前言1. 三维数据的组成1.1 点云数据1.2 网格数据 2. ply数据内容2.1 属性2.1.1 文本描述属性2.1.2 数据描述属性2.1.2.1 顶点(vertex)2.1.2.2 面(face)2.1.2.3 相机(camera) 2.2 数据2.2.1 顶点(vertex)2.2.2 面(face)2.2.3 相机(camera) 3. 示例3.1 示例13.2 示例2 前言 …

MySQL学习笔记第六天

第06章多表查询 5. 7种SQL JOINS的实现 A是员工表&#xff0c;B是部门表。 5.7.1 代码实现 #8. UNION 和 UNION ALL的使用 # UNION&#xff1a;会执行去重操作 # UNION ALL:不会执行去重操作&#xff0c;效率优于前者&#xff0c;开发中优先使用 #结论&#xff1a;如果明确…