echarts图表容器及大小
时间: 2022-05-15 15:25:59
(部分内容来自网络,其真实性存疑,为了避免对您造成误导,请谨慎甄别。)
通常来说,需要在 HTML 中先定义一个 <div> 节点,并且通过 CSS 使得该节点具有宽度和高度。初始化的时候,传入该节点,图表的大小默认即为该节点的大小,除非声明了 opts.width 或 opts.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>
<div id="main"></div><script type="text/javascript"> var myChart = echarts.init(document.getElementById('main'), null, { width: 600, height: 400 });</script>
响应容器大小的变化
监听图表容器的大小并改变图表大小
在有些场景下,我们希望当容器大小改变时,图表的大小也相应地改变。
比如,图表容器是一个高度为 400px、宽度为页面 100% 的节点,你希望在浏览器宽度改变的时候,始终保持图表宽度是页面的 100%。
这种情况下,可以监听页面的 window.onresize
事件获取浏览器大小改变的事件,然后调用 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.onresize = function() { myChart.resize(); };</script>
为图表设置特定的大小
除了直接调用 resize()
不含参数的形式之外,还可以指定宽度和高度,实现图表大小不等于容器大小的效果。
myChart.resize({ width: 800, height: 400});