- A+
所属分类:Web前端
chart.js是一个非常优秀的开源图表插件,扩展非常灵活,同时也提供了大量的钩子函数,给与用户添加自定义插件,实现个性化的需求。
具体的优势特点,这里不详述,网上大把资料,现开始正式深入了解这个插件.
Chart布局大概分为如下六个区域,这些是主要的,也有些特殊,比如左右两边都有Y轴,这个用的较少
Chart.js的源码也是根据这几个分区,定义了不同的的函数,负责渲染这几个部分,分工非常明确直观。
Title:为整个chart图表的标题, 它的位置可以配置为上下左右,且都是左右或是上下居中。
Scale(X/Y): 根据提供的数据源,负责渲染X/Y轴,以及X/Y的title,和中间区域网格线。
Legend:负责渲染图表当前包含数据集合的种类,并控制哪些集合显示,哪些集合不显示,位置也可以为上下左右,亦是上下或是左右居中。
Tip:中间黑色弹框部分,负责渲染鼠标停留处,当前dataset的相关属性。
在chart.js源码中,他们对应的构造函数都是从Element() 扩展而来,也就是这几个函数都继承自Element(), 理解这个很重要,是了解chart.js源码的关键之一,后面的会详细介绍这个函数。
DatasetController:最后就是中间柱状图集合。柱状图是其中一种,其他还有
线性图:
气泡图:
环状图:
饼图:
极地图:
雷达图:
散射图:
这几种图也可以混合使用,比如