UNPKG

vislite

Version:

灵活、快速、简单的数据可视化交互式跨端前端库

177 lines (117 loc) 2.98 kB
# 工具函数 API VISLite 提供多种实用的工具函数。 ## ruler 刻度尺算法 根据数值范围计算合适的刻度尺刻度。 ### 引入 ```js import { ruler } from 'vislite'; ``` ### 使用方法 ```js var scales = ruler(maxValue, minValue, num); ``` ### 参数说明 - **maxValue**: 最大值 - **minValue**: 最小值 - **num**: 刻度数量(建议值) ### 返回值 返回刻度数组,例如 `[0, 20, 40, 60, 80, 100]` ### 示例 ```js var scales = ruler(85, 12, 5); console.log(scales); // 可能输出 [0, 20, 40, 60, 80, 100] ``` --- ## animation 动画控制 提供基于requestAnimationFrame的动画控制。 ### 引入 ```js import { animation } from 'vislite'; ``` ### 使用方法 ```js var stop = animation(function(percent) { // percent: 0-1 的动画进度 var x = startX + (endX - startX) * percent; // 更新绘制... }, duration, function() { // 动画结束回调 }); ``` ### 返回值 `stop` 函数,调用可停止动画。 ### 示例 ```js var stop = animation(function(percent) { var x = 0 + (200 - 0) * percent; painter.clearRect(0, 0, 300, 300); painter.fillCircle(x, 100, 20); }, 1000, function() { console.log('动画结束'); }); // 1秒后停止 setTimeout(stop, 1000); ``` --- ## getLoopColors 循环颜色 生成一组循环使用的颜色数组。 ### 引入 ```js import { getLoopColors } from 'vislite'; ``` ### 使用方法 ```js var colors = getLoopColors(num, alpha, colorsFactory); ``` ### 参数说明 - **num**: 需要的颜色数量 - **alpha**: 透明度(0-1),默认 1 - **colorsFactory**: 自定义颜色工厂函数 ### 返回值 返回颜色数组,例如 `['rgba(84,112,198,1)', 'rgba(145,204,117,1)', ...]` ### 示例 ```js // 获取10个颜色 var colors = getLoopColors(10); // 获取半透明颜色 var colors = getLoopColors(10, 0.5); // 自定义颜色 var colors = getLoopColors(5, 1, function(alpha) { return [ 'rgba(255,0,0,' + alpha + ')', 'rgba(0,255,0,' + alpha + ')' ]; }); ``` --- ## throttle 节流函数 限制函数执行频率。 ### 引入 ```js import { throttle } from 'vislite'; ``` ### 使用方法 ```js var throttleFunc = throttle(func, delay); ``` ### 参数说明 - **func**: 要节流的函数 - **delay**: 延迟时间(毫秒) ### 返回值 返回节流后的函数。 ### 示例 ```js // 滚动事件节流 var handleScroll = throttle(function() { console.log('scrolling'); }, 100); window.addEventListener('scroll', handleScroll); ``` --- ## assemble 颜色组装 内部使用的颜色组装工具,用于区域检测的颜色编码。 ### 引入 ```js import { assemble } from 'vislite'; ``` 返回给定范围内的随机颜色值,用于 Canvas 区域检测功能。