Echart添加自己画的内容

本文介绍如何在Echarts图表中因为工作需要实现X轴的多维度展示,即叠加几层X轴,由于Echart内置功能无法满足位置计算需求,故选择自定义绘制。

在Echart图表中添加自己要画的内容

工作需要X轴中多维度,就是可以叠加几层X轴(分组),但是Echart自带的多层X轴的位置不好算,所以要自己画。

代码如下:

<body>
    <div class="container">
        <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
        <div id="main" style="width: 100%;height:100%;"></div>
    </div>
</body>
<script type="text/javascript"
<think>根据用户查询,用户想了解如何使用ECharts调整板(即表容器)的高度大小。结合站内引用,提供几种常见方法: 1. **通过CSS样式设置容器尺寸**(引用[3]示例): 在HTML中为表容器`<div>`设置固定的宽高样式,例如: ```html <div id="chartContainer" style="width: 900px; height: 600px;"></div> ``` 或使用百分比(需确保父元素有明确高度): ```html <div id="chartContainer" style="width: 100%; height: 70vh;"></div> ``` 2. **通过JavaScript动态调整高度**(引用[2]示例): 获取当前窗口尺寸并动态计算高度,通过`resize()`方法更新表: ```javascript // 初始化表 const myChart = echarts.init(document.getElementById('chartContainer')); // 动态设置容器高度(例如:窗口高度减去160px) document.getElementById('chartContainer').style.height = (document.body.clientHeight - 160) + "px"; myChart.resize(); // 必须调用resize使新尺寸生效 ``` 3. **响应式设计:监听窗口变化自动调整** 添加窗口大小变化监听事件,实现自适应: ```javascript window.addEventListener('resize', () => { document.getElementById('chartContainer').style.height = ... ; // 重新计算高度 myChart.resize(); }); ``` > **注意事项**: > - 调整的是**容器div的尺寸**,而非ECharts配置项中的`height`(配置项中的`height`通常用于组件布局,如`grid`组件). > - 修改容器尺寸后**必须调用`myChart.resize()`** 通知ECharts重新渲染(引用[2])[^2]. > - 百分比单位需确保父元素有有效高度(引用[3]中容器使用固定像素)[^3]. §§相关问题§§ 1. 如何让ECharts表随浏览器窗口大小变化自适应? 2. ECharts中`resize()`方法的作用是什么? 3. 使用百分比布局时ECharts容器高度不生效怎么办? </think>### ECharts调整板高度的方法 根据引用内容,调整ECharts板(容器)高度主要有以下方法: #### 1. **通过CSS样式设置容器高度** [^3] 在HTML中直接定义容器元素的样式: ```html <div id="chartContainer" style="width: 100%; height: 500px;"></div> ``` ```javascript // 初始化表 var myChart = echarts.init(document.getElementById('chartContainer')); ``` - ✅ 优点:简单直接,支持像素(px)和百分比(%) - ⚠️ 注意:百分比高度需确保父容器有明确高度 #### 2. **通过JavaScript动态调整高度** [^2] 在运行时修改容器尺寸并触发重绘: ```javascript // 获取容器元素 const chartDom = document.getElementById('chartContainer'); // 动态设置新高度(示例:窗口高度-160px) chartDom.style.height = (window.innerHeight - 160) + "px"; // 必须调用resize()方法更新表 myChart.resize(); ``` - 🌟 关键点:修改尺寸后**必须调用**`myChart.resize()`生效 - 适用场景:响应式布局需要动态适配窗口大小 #### 3. **结合配置项的布局控制** [^1] 在series中设置相对布局参数(需容器有明确高度): ```javascript series: [{ type: 'pie', radius: '70%', // 饼相对容器大小的比例 center: ['50%','50%']// 居中布局 }] ``` - ⚖️ 比例关系:`radius`和`center`的百分比值基于容器尺寸计算 - 📏 兼容性:可与前两种方法组合使用 > **最佳实践建议**: > 1. 固定高度场景 → 采用方法1的CSS定义 > 2. 响应式场景 → 采用方法2的JS动态计算 + `resize()` > 3. 表内部元素布局 → 使用方法3的百分比配置 > > 修改容器尺寸后必须执行`myChart.resize()`,否则表不会重绘[^2][^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值