UNPKG

bytev-charts

Version:

基于echarts和JavaScript及ES6封装的一个可以直接调用的图表组件库,内置主题设计,简单快捷,且支持用户自定义配置; npm 安装方式: npm install bytev-charts 若启动提示还需额外install插件,则运行 npm install @babel/runtime-corejs2 即可;

236 lines (159 loc) 8.98 kB
# ByteVCharts ###### 打包及发布说明见开发者阅读 一个基于echarts和JavaScript及ES6封装,可以直接调用的图表组件库,内置多套主题设计,支持一键换肤,简单快捷,且支持用户自定义配置; # ##### 本产品适用于 ES6 和 vue的npm [comment]: <> (实时更新版/最新版本/测试版本 - bytev-charts-beta) [comment]: <> (稳定版本 : bytev-charts@版本号(如:bytev-charts@1.0.0)) [comment]: <> (目前发布的版本只有 bytev-charts) npm版本: bytev-charts npm地址: https://www.npmjs.com/package/bytev-charts ### 原生js(ES6)版本地址: http://bytevcharts.bwk.ddns.net:90/ 原生 - 实时版本: beta 原生 - 历史版本: version #### 示例和基础使用文档参考:http://www.bytevcharts.cn # # #### 使用方式和常用方法: #### ##### npm 安装方式: npm install bytev-charts [comment]: <> ( 或) [comment]: <> ( npm install bytev-charts-beta) [comment]: <> ( 或) [comment]: <> ( npm install bytev-charts-v) 若启动提示还需install其余插件, 则运行npm install @babel/runtime-corejs2即可; npm install @babel/runtime-corejs2 调用方式和原生js一致,在main.js中注册引入 import ByteV from 'bytev-charts' 自定义设置为vue的属性 如: Vue.prototype.$bytev = ByteV; ### ##### 原生js ES6: ```js <script src="js/index.js" type="module"> import ByteV from './ByteV.js' //后续代码及调用 ByteV. </script> ``` ### ##### 使用方法和常用方法 ```js /* * 初始化主题 (每个主题的ID 可参见example示例) * 执行后则后续所有init的图表都自动使用此套主题 * 不调用此方法则使用默认主题-加勒比蓝 */ ByteV.initTheme('主题ID') /* * 切换主题 * 图表实例.setTheme('主题ID'),则只修改该图表的主题 * ByteV.setTheme('主题ID'),则修改全部图表主题,并且后续图表也使用修改后的主题 */ //切换指定图表主题 实例.setTheme('主题ID') //切换全部图表主题 ByteV.setTheme('主题ID') /* * 创建图表 * 创建图表实例(每个图表ID 可参见example示例) * 参数: element - dom对象(应该是唯一且不重复的) * 图表ID - 可不传,不传默认返回空echarts对象 * data - 图表数据,可不传,传则自动渲染数据, * 不传可后续用返回的实例调用.setData(data)来更新数据 * * 返回值: 返回该图表的实例对象, * 实例对象有通用属性option, 和通用方法 setData()、setOption() */ ByteV.init( element, '图表ID', data) /* * 修改更新图表option设置项的方法 * 用户可通过 实例.option 获取其设置项,并自定义修改其中的值, * 修改后调用 实例.setOption() 即可刷新页面图表,也可与不调用,而是等setData()时一并更新, * 调用 实例.setData() 也会自动刷更新option和刷新该图表 */ 图表实例.setOption() /* * 动画效果 * 使用'ByteV'调用则是操作全部图表的动画 * 使用'图表实例'调用只操作对应该图表的动画 */ //播放: ByteV.playAnimation() 实例.playAnimation() //停止: ByteV.stopAnimation() 实例.stopAnimation() //关闭: ByteV.offAnimation() 实例.offAnimation() /* * 自动轮播 * 使用'ByteV'调用则是操作全部图表的自动轮播 * 使用'图表实例'调用只操作对应该图表的自动轮播 */ //开启: ByteV.openLoopTooltip() 实例.openLoopTooltip() //关闭: ByteV.offLoopTooltip() 实例.offLoopTooltip() ``` ### # ### 各版本更新内容: 1.0.2版: 新增“横向圆角堆叠柱状图”,“横向菱形堆叠柱状图” #### 1.0.3版: 1. echarts的柱状图折线图-增加了 支持调用setData()方法时一起设置样式的功能, 每个对象里面可以写echarts的官方属性,则对应组件会以用户写的样式为准来覆盖组件默认内置样式; 2. 新增组件-堆叠柱线图 #### 1.0.4版: 1. 柱状图 饼状图 的x y 轴调整为数组结构, 方便用户自己在setData时手动自定义使用哪个轴线; 2. 细阴影环形图的数据data中,为每个对象增加了parent属性, parent属性为string类型, 有该属性则插件自动求和该parent的值并显示到环形中间; #### 1.0.5 - 1.0.6版: 1. 拆分出横向柱状图和柱线图组件类,规范横向柱状图和柱线图命名,新增几种横向柱状图图表;\ 2. 结构代码优化整理: 将所有的series抽成独立的js管理; 3. 基本饼状图/基本环形图优化调整: 3.1 调整默认center位置 3.2 基本环形图增加支持每个数据的parent属性, parent属性为string类型, 有该属性则插件自动求和该parent的值并显示到环形中间; 3.3 option下新增自定义属性center和radius,如果用户定义了这两个属性,则拼接的series直接以这两个属性动态计算 4. 环形图(环星阴影图和环形十字准星图及玉珏图)优化调整: 4.1 抽成环形图左右结构分类统一管理,并抽出拼接换算图例、parent的功能到父类js统一管理 4.2 新增根据容器宽高比自动设置环图center位置,和自动设置图例展现方式(普通图例or可滚动翻页的图例/) 4.3 图例新增unitType属性,支持根据用户设置来动态切换图例的三种单位文字显示方式: option.legend.unitType: 默认'none'; '''none'null - 只显示名称, 'value' - 显示名称+数值, 'per''%' - 显示名称+百分比); 4.4 图例的icon属性新增自定义属性: '竖线' - 'verticalBar' - option.legend.icon: (默认rect) 支持属性: 除echarts的('circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'), 还新增了自定义属性'竖线' - 'verticalBar' 4.5 优化环形图parent有无时label的动态样式和优化选中效果; 4.6 option下新增自定义属性center和radius,如果用户定义了这两个属性,则拼接的series直接以这两个属性动态计算 5. 命名调整(之前版本不受影响): 5.1 横向菱形堆叠柱状图(v1.0.05版前BarHorizontalStackDiamond) 变更为=> 'HorizontalBarStackDiamond' 5.2 横向圆角堆叠柱状图(v1.0.05版前BarHorizontalStackFillet) 变更为=> 'HorizontalBarStackFillet' 5.3 柱装饰折线图(v1.0.5版前LineBar) 变更为=> 'LineDecorateBar' #### 1.0.7-1.0.8版: 1. 修复用户自定义图表.option.color时,部分图表(如阴影环形图)的阴影颜色没有跟随变化的问题 2. initTheme()和setTheme() 支持用户传入自定义颜色值数组, 届时对应图表的配色和装饰配色全根据自定义传入的色值数组取值; 自定义的图表.option.color 比 theme颜色优先级高,但option.color只生效于图表部分,装饰配饰的颜色还是取theme中的; 图表.option.color 和 theme 同时都自定义的时候, 图表部分的颜色优先取option.color,配饰装饰仍然继续取theme的色值; 3. 饼状图、环形图优化 3.1 修复在设置数据时,数据第一个为0时产生的计算错误问题; 3.2 修复在设置数据有parent时,数据自动++求和时精度不够的问题; 3.2 细阴影环形图内层带透明度的环形,修改和外层支持同样的悬浮事件label等; 3.3 修复基本饼状图、基本环形图动态修改option直接子级属性center和radius不同步生效到series中的bug; 3.3 修复基本饼状图、基本环形图即有parent父级、又有radius时内外环动态布局; 4. three组件功能: 初始化: ByteV.init(elment, '3D');(npm项目支持, 原生min.js暂不支持)