canvas 动态曲线需持续清空、重算、重绘;必须在 dom 就绪后获取 2d 上下文,正确调用 clearrect 清屏,区分 canvas.width 与 style.width,用 requestanimationframe 驱动动画,并适配高 dpi 与动态计算贝塞尔控制点。

Canvas 画动态曲线不是“画一次就完事”,而是持续清空、重算、重绘的循环过程;漏掉 clearRect 或误用 CSS 缩放尺寸,图表立刻糊成一片或错位。
getContext('2d') 必须在 DOM 就绪后调用
直接写 document.getElementById('chart').getContext('2d') 却没等 DOM 加载,getContext 就会返回 null,后续所有绘图方法(如 strokeLine、bezierCurveTo)全报 TypeError。
- 把脚本放在











