You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache ECharts柱状图窗口resize动画失效问题求助

解决Apache ECharts窗口Resize时柱状图无动画的问题
  • 显式为resize方法传入动画配置
    默认调用resize()不会触发过渡动画,需要在调用时指定动画参数,和目标示例的动画配置保持一致:
this.echartsIntance.resize({
  animation: {
    duration: 300,
    easing: 'cubicOut'
  }
});
  • 确保图表基础动画配置开启
    检查你的options配置,确认全局动画未被手动关闭:
options = {
  animation: true, // 默认开启,若之前手动关闭需重新打开
  // 其他图表配置项...
};
  • 优化resize事件订阅逻辑
    当前的resize方法每次调用都会创建新的订阅,建议在组件初始化时订阅,并在销毁时取消,避免内存泄漏:
import { Subscription } from 'rxjs';

// 组件类内添加属性
private resizeSub: Subscription;

ngOnInit() {
  this.resizeSub = fromEvent(window, 'resize')
    .pipe(debounceTime(200))
    .subscribe(() => {
      if (this.echartsIntance) {
        this.echartsIntance.resize({
          animation: { duration: 300, easing: 'cubicOut' }
        });
      }
    });
}

ngOnDestroy() {
  this.resizeSub?.unsubscribe();
}
  • 确认容器样式为响应式
    确保图表容器的CSS样式支持自适应尺寸,比如:
.demo-chart {
  width: 100%;
  height: 400px;
}

只有容器尺寸随窗口变化时,ECharts的resize操作才能正确触发动画。

内容的提问来源于stack exchange,提问作者Ole

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 04:55:19