屏幕大小改变时echarts图表自动重新渲染

其实也很简单,下面有实例,直接粘贴就可以用,主要原理是屏幕大小改变的事件内写了一下下代码

window.onresize = function() {
    myChart.resize();
}

 

完整示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" />
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.0.0-alpha.1/echarts.min.js"></script>
</head>
<style type="text/css">
</style>
<body class="gray-bg">
<div id="ll-box">
<div class="row llrow">
<div class="col-sm-12" style="padding: 0 10px;">
<div class="thumbnail" style="padding: 0;">
<div class="">
<div class="list-group-item active ll-title-text ll-shadow-sm"><a href="###" class="title-radius"></a>功率曲线</div>
<!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
<div id="main" style="width: 100%;height:300px;"></div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
option = {
color: ['#33ccff'],
title: {
text: ''
},
tooltip: {
trigger: 'axis',
//在这里设置单位						
formatter: '{b0}</br>{a0}:{c0}万'
},
grid: {
left: '3%',
right: '4%',
bottom: '5%',
top: '13%',
containLabel: true
},
xAxis: {
type: 'category',
boundaryGap: false,
data: ['周一1', '周二2', '周三3', '周四4', '周五5', '周六6', '周日7', '周二8', '周三9', '周四0', '周五', '周六', '周日', '周二', '周三', '周四',
'周五', '周六', '周日', '周二', '周三', '周四', '周五', '周六', '周日'
]
},
yAxis: {
type: 'value'
},
series: [{
name: '功率值',
type: 'line',
stack: '总量',
data: [120, 132, 101, 134, 90, 230, 210]
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
// 屏幕浏览器窗口大小改变时从新渲染图表
window.onresize = function() {
myChart.resize();
}
</script>
</body>
</html>

效果:

大屏:

小屏:

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.duanlonglong.com/qdjy/1071.html