美文网首页
2、图表容器及大小

2、图表容器及大小

作者: wqjcarnation | 来源:发表于2023-07-10 14:07 被阅读0次

快速上手中,我们介绍了初始化 ECharts 的接口 echarts.initAPI 文档中详细介绍了参数的具体含义,建议理解后再阅读本文。

下面,我们就常见的几种使用场景,介绍如何初始化一个图表以及改变其大小。

初始化

在 HTML 中定义有宽度和高度的父容器(推荐)

通常来说,需要在 HTML 中先定义一个 <div> 节点,并且通过 CSS 使得该节点具有宽度和高度。初始化的时候,传入该节点,图表的大小默认即为该节点的大小,除非声明了 opts.widthopts.height 将其覆盖。

<div id="main" style="width: 600px;height:400px;"></div>
<script type="text/javascript">
  var myChart = echarts.init(document.getElementById('main'));
</script>

需要注意的是,使用这种方法在调用 echarts.init 时需保证容器已经有宽度和高度了。
指定图表的大小
如果图表容器不存在宽度和高度,或者,你希望图表宽度和高度不等于容器大小,也可以在初始化的时候指定大小。

<div id="main"></div>
<script type="text/javascript">
  var myChart = echarts.init(document.getElementById('main'), null, {
    width: 600,
    height: 400
  });
</script>

响应容器大小的变化

监听图表容器的大小并改变图表大小

在有些场景下,我们希望当容器大小改变时,图表的大小也相应地改变。

比如,图表容器是一个高度为 400px、宽度为页面 100% 的节点,你希望在浏览器宽度改变的时候,始终保持图表宽度是页面的 100%。

这种情况下,可以监听页面的 resize 事件获取浏览器大小改变的事件,然后调用 echartsInstance.resize 改变图表的大小。

<style>
  #main,
  html,
  body {
    width: 100%;
  }
  #main {
    height: 400px;
  }
</style>
<div id="main"></div>
<script type="text/javascript">
  var myChart = echarts.init(document.getElementById('main'));
  window.addEventListener('resize', function() {
    myChart.resize();
  });
</script>

为图表设置特定的大小

除了直接调用 resize() 不含参数的形式之外,还可以指定宽度和高度,实现图表大小不等于容器大小的效果。

myChart.resize({
  width: 800,
  height: 400
});

容器节点被销毁以及被重建时

假设页面中存在多个标签页,每个标签页都包含一些图表。当选中一个标签页的时候,其他标签页的内容在 DOM 中被移除了。这样,当用户再选中这些标签页的时候,就会发现图表“不见”了。

本质上,这是由于图表的容器节点被移除导致的。即使之后该节点被重新添加,图表所在的节点也已经不存在了。

正确的做法是,在图表容器被销毁之后,调用 echartsInstance.dispose 销毁实例,在图表容器重新被添加后再次调用 echarts.init 初始化。

相关文章

  • 记 echarts 的一些设置

    1. 图表 距离 父级容器的边距 有时候我们不容易控制echarts图表的大小,其实我们只需要让图表距离容器有一点...

  • echarts图表的大小调整的解决方案

    内部图表的大小是和外部设置的div容器息息相关的,如果想调整整个图表的空间占比,直接修改外部的div容器的宽高即可...

  • 菜鸟认识前端标签

    1、padding 内填充 设置后会撑大容器大小,即大小为padding + 容器大小 2、margin 外边距...

  • echarts超出父容器范围和自适应的解决办法

    给echarts图表设置100%宽高,父容器动态设置一个宽高时,echarts图表会占满不了父容器或者溢出父容器范...

  • 记录项目中使用 echarts resize 不生效问题

    使图表宽高与改变宽高之后的容器相适应 注意 ::v-deep 挺重要 .box是存放echarts图表容器...

  • 第9章:顺序容器

    #1.顺序容器概述 #2.容器库概览迭代器容器类型成员begin和end成员容器定义和初始化赋值和swap容器大小...

  • echarts 自适应

    四、适应容器 上面说过,图表的容器必须固定宽高,这确实是一个比较反人类的设定 为了解决这个问题,需要给图表容器外面...

  • echarts图表容器

    DOM 容器 在绘图前我们需要为 ECharts 准备一个具备高宽的DOM 容器。

  • E战到底第10期-Day26

    今天学习内容是动态图表的制作,主要有双坐标图表的制作及动态图表制作的2个案例2种方法。双坐标图表制作较简单且经常使...

  • 关于图表的整理

    图表有几个要素: 图表类型 图表颜色 字体大小以及颜色 绘制图表的注意点 图表设计原则 一. 图表类型 比较常用的...

网友评论

      本文标题:2、图表容器及大小

      本文链接:https://www.haomeiwen.com/subject/tyyeudtx.html