可以的,ECharts 完全可以适配移动端,而且官方本身就考虑了移动端场景。下面从几个方面说明如何做和注意事项:
<div id="chart" style="width:100%;height:300px;"></div>
const chart = echarts.init(document.getElementById('chart'));
window.addEventListener('resize', () => {
chart.resize();
});
在移动端,屏幕旋转、软键盘弹起都会触发 resize。
const chart = echarts.init(dom, null, {
renderer: 'canvas',
devicePixelRatio: window.devicePixelRatio
});
不指定也行,ECharts 默认会读取
window.devicePixelRatio
textStyle: {
fontSize: 12
}
animation: false
tooltip: {
trigger: 'axis',
confine: true // 防止溢出屏幕
}
ECharts 默认支持:
如果是地图或折线图缩放,可结合:
dataZoomsamplingimport * as echarts from 'echarts/core';
import { LineChart } from 'echarts/charts';
import { GridComponent } from 'echarts/components';
onMounted + resizeuseEffect + ResizeObserver示例(React):
useEffect(() => {
const chart = echarts.init(ref.current);
const ro = new ResizeObserver(() => chart.resize());
ro.observe(ref.current);
}, []);
✅ ECharts 完全适配移动端
✅ 重点在:容器自适应 + resize + 配置简化
✅ 性能和体验可控
如果你有具体场景(如 H5 页面、微信小程序、Vue 移动端),我可以给你更针对性的示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。