前端为什么要啃原生 Canvas 绘图
现在很多业务页面都要求展示动态图表、实时大屏或交互式报表。多数前端遇到这类需求,第一反应是直接调 Echarts 的配置项,能跑通就行。但一旦产品要求定制特殊形状、做复杂动画联动,或者遇到性能瓶颈,只会用现成组件就会卡壳。这门课解决的核心问题,就是帮你补齐底层的绘图原理。它没有花大量篇幅堆砌业务大屏的炫酷案例,而是从 Canvas 的基础路径、样式操作讲起,带你弄懂浏览器是怎么把代码变成像素的。如果你正被复杂图表的二次开发折磨,或者想往前端可视化方向转岗,这种从底层逻辑切入的思路比单纯背组件 API 更有用。
适合什么基础与建议先看的重点
这套资料不适合完全零基础的人,你需要有扎实的 HTML 和 CSS 基础,能熟练使用 JavaScript 操作 DOM。课程前期的概念对比部分可以快速过一遍,重点建议放在中后段的实战模块。从画线、矩形到弧形和曲线的章节,是建立坐标系和路径操作手感的关键,不要跳过。随后关于全局透明度、阴影以及 transform 组合变换的内容,是很多人平时写图表时经常知其然而不知其所以然的盲区,直接关系到你能否精准控制图形的位移与旋转。建议在学习时,不要只盯着视频看,必须打开编辑器,跟着每一节的代码把基础图形敲一遍,理解每一次坐标变化背后的数学逻辑。
学完能独立做什么与资料配合方式
把这套资料吃透,你能脱离第三方图表库的束缚,独立用原生代码绘制并控制复杂图形。课程里安排了封装图形库和原生时钟的实战,这两个练习非常考验对绘图全局思想的掌控。学完后,面对公司内部的数据大屏需求,你不仅能熟练接入 Echarts,还能在组件不满足时,自己用 Canvas 画定制化的图元和动画。配合资料练习时,建议先把每节课的概念在本地跑通,然后尝试改参数,比如把课程里的时钟拆解成其他仪表盘指针,或者把饼图实战的代码改成环形图。通过这种强制自己改写代码的方式,把别人的思路内化成自己的手感,才算真正把这门可视化的底子打扎实。
01 数据可视化开发-1
课程目录
* 01 数据可视化开发-1/
* 01 课程介绍、入门知识/
* 01 前端开发为什么要学“数据可视化”
* 02 canvas、SVG、webGL的区别与关系
* 02 从零开始使用canvas/
* 01 画线、认识路径操作
* 02 canvas绘图样式、操作顺序
* 03 文字操作
* 04 line操作、路径操作
* 05 透明度、阴影、canvas的全局思想
* 06 更多形状:rect矩形操作、canvas动画原理
* 07 更多形状:弧操作、饼图实战
* 08 更多形状:曲线
* 03 canvas transform/
* 01 深入transform、组合变换-上
* 02 深入transform-下
* 03 实战:自己动手封装图形库-上
* 04 实战:自己动手封装图形库-下
* 05 实战:canvas时钟 原生版-上
* 06 实战:canvas时钟 原生版-中
* 07 实战:canvas时钟 原生版-下
* 08 实战:canvas时钟 zanvas版-上
* 09 实战:canvas时钟 zanvas版-下
* 04 canvas图片操作、实战游戏开发-上/
* 01 图片批量加载逻辑、drawImage基础
* 02 详解drawImage、序列动画
* 03 一切都是图片
* 04 实战:小游戏-1 背景、图片加载逻辑
* 05 实战:小游戏-2 炮台、炮塔
* 06 实战:小游戏-3 旋转逻辑
* 07 实战:小游戏-4 炮弹发射
* 05 canvas事件处理、实战游戏开发-下/
* 01 canvas事件机制、path检测
* 02 实战:小游戏-5 按钮处理、封装
* 03 实战:小游戏-6 鱼的生成
* 04 实战:小游戏-7 优化、删除失效对象
* 05 实战:小游戏-8 碰撞检测
* 06 实战:小游戏-9 渔网、捕鱼动画、概率逻辑
* 07 实战:小游戏-10 金币动画、分数逻辑
* 08 实战:小游戏-11 金币逻辑、分数动画、总结
* 06 canvas的导入、导出、像素操作/
* 01 认识base64、canvas的导入导出-上
* 02 认识blob、canvas导入导出-下
* 03 另一种保存canvas图形的方法
* 04 canvas像素操作
* 07 实战:多人共享绘图板/
* 01 项目搭建、布局
* 02 从最简单的线开始
* 03 画圆工具、动态配置工具
* 04 重绘逻辑、矩形工具
* 05 绘制逻辑封装、配置对象
* 06 撤销操作、保存图像
* 07 多人协作绘图
* 08 实战:canvas实时视频处理/
* 01 video绘制、动画使用
* 02 提取像素、滤镜处理
* 09 zrender库操作canvas/
* 01 认识zrender库
* 02 基础操作:图形、事件、属性
* 03 画布操作
* 04 更多形状、silent、group
* 05 更多形状-下
* 06 动画操作
* 10 实战:zrender/
* 01 项目搭建、工具选择
* 02 绘制模块、重用
* 03 操作区划分、颜色选择-上
* 04 颜色选择-下
* 11 echarts图表库-基础/
* 01 认识echarts
* 02 vue+echarts
* 03 react+echarts
* 12 深入echarts-option详解/
* 01 axis坐标轴
* 02 series数据
* 03 title标题
* 04 tooltip提示框
* 05 toolbox工具条
* 06 legend图例
* 07 datazoom显示范围
* 13 深入echarts-各图表类型详解/
* 01 line折线图、bar柱状图
* 02 pie饼图
* 03 scatter散点图
* 04 radar雷达图
* 05 graph图
* 06 tree树状图
* 07 treeMap树图
* 08 gauge仪表盘
* 14 实战-1《618战报》数据大屏项目-上/
* 01 数据可视化适用场景、项目预览
* 02 vue3前端项目搭建-组件拆分-上
* 03 vue3前端项目搭建-组件拆分-下
* 04 websocket数据接入
* 05 typescript数据model
* 15 实战-1:《618战报》数据大屏项目-下/
* 01 基础数据填充
* 02 大额订单列表
* 03 实时订单走势图
* 04 bmap销售区域地图
* 05 销售终端统计
* 06 word cloud热门搜索词
* 16 实战-2:电商平台 数据报表/
* 01 项目介绍
* 02 组件划分、数据获取
* 03 摘要数据
* 04 时间线、渠道来源
* 05 热门商品
* 06 库存提示
* 17 实战-3:电商平台 数据报表 移动端/
* 01 项目介绍、组件划分
* 02 数据交互、摘要数据
* 03 移动端echarts、销售曲线、渠道信息
* 04 热门商品图、缺货信息
* 数据可视化开发-课程资料.zip






