[echarts]echarts的canvas画布大小与容器大小不一致的解决方案

2023-11-20

<div class="wrap" style="width:300px;height:300px;">
	<!-- echarts容器 -->
	<div id="echarts" style="width: 100%;height:100%;"></div>
</div>

场景描述:如上所示布局,我的echarts容器大小设置的宽高都是100%,为了让他占满整个wrap盒子;
解决方法1:所以设置echarts宽高为100%

设置宽高百分比之后如果canvas依然是100px或者没有占满图表容器:
解决方案2:利用resize设置width、height

// 获取wrap盒子的宽高
let width = document.getElementById('wrap').clientWidth()
let height= document.getElementById('wrap').clientHeight()
// 渲染echart图表的方法
drawchart() {
	let charts = echarts.init(document.getElementById('chart'))
	// 每次渲染之前都要clear一下,因为图表数据不是一成不变的,当重新调接口获取数据后就要重新渲染,如果不clear,有可能造成图表不变或图表叠加渲染等情况
	charts.clear()	
	let option = {
		...
	}
	// 一般这一步是写charts.resize(),让图表根据当前屏幕尺寸自适应,但是当前canvas画布大小与容器大小不一致,而容器大小已经设置了百分比,所以可以在resize里面手动设置宽高,使其占满整个wrap盒子
	charts.resize({
		//width: width,
		//height: height,
		// es6解构
		width,
		height
	})
	// 渲染图表
	charts.setOption(option)
}

解决方案3:利用v-if,这种情况多发在el-tab el-collapse

<el-collapse v-model="activeName" accordion>
	<el-collapse-item name="1">
		<ZLine
		  :chart="'cpuUse'+index"
		  :title="item?.metricName"
		  :data="item?.metricPoints"
		  :zoom="zoom"
		  :ref="setItemRef"
		  v-if="activeName === '1'"
		/>
	</el-collapse-item>
</el-collapse>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[echarts]echarts的canvas画布大小与容器大小不一致的解决方案 的相关文章

随机推荐

  • 16-MyCat

    一 Mycat概述 1 什么是Mycat 什么是Mycat Mycat是数据库中间件 所谓数据库中间件是连接Java应用程序和数据库中间的软件 为什么要用Mycat 遇到问题 Java与数据库的紧耦合 高访问量高并发对数据库的压力 读写请求
  • python selenium使用JS新建标签(new tab)与切换标签

    以下是通用操作 不建议用快捷键的方式新开tab 因为js是通用的 from selenium import webdriver driver webdriver Chrome 新建窗口 driver execute script windo
  • 【嵌入式开发基础】PL2303不支持win11及后续版本解决方法

    最近在使用PL2303这一块USB转串口后 在安装驱动时遇到如下问题 此PL2303驱动程序不支持WINDOWS 11及后续版本 请安装正确驱动程序 解决方法 下载旧版本的PL2303驱动然后安装替换 PL2303 Prolific Dri
  • C语言二分法查找算法

    二分查找算法 折半查找算法
  • echarts饼状图mysql_echarts饼状图位置设置

    ReactNative环境配置 参考链接 Windows系统安装React Native环境 windows下React Native Android 环境搭建 在Windows下搭建React Native Android开发环境 转载
  • Qt6.2.3 QWebEngineView 咋就默认无痕浏览模式了?

    最近项目从Qt5迁移到Qt6 有若干不兼容或者变动的地方 虽谈不上什么血泪史 但是一天内做了几十处的兼容性处理 好在项目不大 也是挺累人的 本文重点说说QWebEngineView 咋就默认变成无痕处理模式了 如何咱们如何取消无痕模式 自定
  • Linux安装node

    Linux安装node 一 下载准备 1 准备 2 下载wget 可以直接下载 也可以点击链接寻找下载 3 安装wget 二 安装 1 准备 2 下载 3 解压 4 配置 5 测试 一 下载准备 linxu安装node可以直接去官网下载 或
  • 用C++写一个ChatGPT

    要用 C 语言写一个 ChatGPT 需要执行以下步骤 了解 ChatGPT 是什么 ChatGPT 是一种自然语言生成模型 能够在聊天场景中生成人类语言的文本 安装需要的软件 需要安装 C 语言编译器 如 GCC 或者 Visual C
  • 【C++从0到1】C++入门(上篇)类入门篇

    c 入门必看 前言 一 命名空间 二 缺省函数 三 函数重载 3 1常见使用 3 2重载底层实现 3 3返回值不纳入重载原因 四 extren C 五 引用 5 1常见使用 5 2临时变量的作用 5 3引用返回常见错误 5 4指针与引用 六
  • Golang 内存对齐视频

    https www bilibili com video BV1Ja4y1i7AF 简而言之 就是注意写代码的时候要把相同类型的元素放在一起 更进一步需要自己将结构体配对为32位或64位的整数倍 有助于减少额外空间消耗
  • java数据库实例_Java连接各种数据库的实例

    转自 CSDN此文中的代码主要列出连接数据库的关键代码 其他访问数据库代码省略 1 Oracle8 8i 9i数据库 thin模式 Class forName oracle jdbc driver OracleDriver newInsta
  • SQL修改表的列

    1 修改列的数据类型 要修改列的数据类型 请使用以下语句 ALTER TABLE table name ALTER COLUMN column name new data type size 新数据类型必须与旧数据类型兼容 否则 如果列具有
  • 程序员孔乙己

    软件园的格局自与别处是有所区别的 高矮不同的写字楼里 排列着整齐的格子间 放眼望去到处都是格子衫 双肩包 还有那稀疏的头发 园区每一栋大楼的入口处 都有一个超大前台 清洁的铮亮 散发着光芒 桌上零散的堆放着办公品 边上隔了一间咖啡馆 顺带售
  • background-position和雪碧图(CSS Sprites)用法

    background position属性使用频率非常高 大量的网站为了减少http请求数 会将大量的图片图片合成一张雪碧图 Sprite 来使用 雪碧图的使用就是通过控制background position属性值来确定图片呈现的位置 不
  • C++ StrCmpLogicalW文件名排序

    打开资源管理器 文件列表如下 搜索文件列表 include
  • Vue项目的部署(服务器)

    Vue项目的部署 服务器 前几天帮朋友写了一个可以动态查看地点温度的前端项目 目前已经部署上线了 访问链接点这里 服务器是朋友的 倒时候打不开会很正常 说不定又使用服务器玩大数据项目去了 效果图 图一 图二 当然 温度也都是实时跟新的 而且
  • MATLAB小技巧(20)矩阵分析--主成分回归

    MATLAB小技巧 20 矩阵分析 主成分回归 前言 一 MATLAB仿真 二 仿真结果 三 小结 前言 MATLAB进行图像处理相关的学习是非常友好的 可以从零开始 对基础的图像处理都已经有了封装好的许多可直接调用的函数 这个系列文章的话
  • maven的resources介绍

    在开发maven项目时 一般都会把配置文件放到src main resources目录下 针对这个目录 maven的resources对其进行单独的配置 resources配置一般如下
  • reactJS 干货(reactjs 史上最详细的解析干货)

    一 State和 Props state是状态机 应该包括 那些可能被组件的事件处理器改变并触发用户界面更新的数据 譬如需要对用户输入 服务器请求或者时间变化等作出响应 不应该包括 计算所得数据 React组件 在render 里使用pro
  • [echarts]echarts的canvas画布大小与容器大小不一致的解决方案

    div class wrap style width 300px height 300px div style width 100 height 100 div div 场景描述 如上所示布局 我的echarts容器大小设置的宽高都是100