ECharts 本身提供了响应式设计的功能,可以通过以下方法实现:
responsive
选项为 true
:var myChart = echarts.init(document.getElementById('main'), null, {responsive: true});
@media screen and (max-width: 600px) {
#main {
width: 100%;
height: 300px;
}
}
resize
方法:window.addEventListener('resize', function () {
myChart.resize();
});
这样,当窗口大小发生变化时,ECharts 图表会自动调整大小以适应新的尺寸。
下面是一个完整的示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ECharts 响应式示例</title>
<script src="https://cdn.jsdelivr.net/npm/echarts@latest/dist/echarts.min.js"></script>
<style>
#main {
width: 100%;
height: 400px;
}
@media screen and (max-width: 600px) {
#main {
width: 100%;
height: 302px;
}
}
</style>
</head>
<body>
<div id="main"></div>
<script>
var myChart = echarts.init(document.getElementById('main'), null, {responsive: true});
var option = {
title: {
text: 'ECharts 响应式示例'
},
tooltip: {},
xAxis: {
data: ['A', 'B', 'C', 'D', 'E', 'F']
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}]
};
myChart.setOption(option);
window.addEventListener('resize', function () {
myChart.resize();
});
</script>
</body>
</html>
这个示例中,ECharts 图表会根据浏览器窗口的大小自动调整其大小。
领取专属 10元无门槛券
手把手带您无忧上云