echarts 图表:autocharts.js 一行代码自

autoCharts

前言

你是否被后端传来的千奇百怪的echarts数据搞得焦头烂额?你是否在为如何封装echarts数据而探索?

autocharts.js 可以帮助你一行代码生成符合echarts基本格式的options数据。而你,我亲爱的朋友,你只需要关心图表的样式即可。

使用

npm i autocharts.js
import autoCharts from "autocharts.js";
  let autoData = autoCharts.findChartData({
    rawData: yourData,
    xKey: "col3",
    yKey: "levelCount",
    type: "pie",
  });

返回的autoData将包括 legendxAxisseries

然后你只需:

image-20230816102621531

结果:

image-20230816102738483

如果你的数据是这种(推荐)格式:

image-20230816102854502

dataTimes是时间,其他的为长度一致的数组,那么你可以直接传入这整个数据而无需其他参数

  let autoData = autoCharts.findChartData({
    rawData: data,
  });

结果:

image-20230816103036081

参数说明

rawData:原始数据,目前仅支持两种常用的数据结构,详情请看readme.md

type:图表的类型,如 pie

xKey:指定 x 轴的键名

yKey:指定 y 轴的键名

原理

因为各种复杂结构的数据繁杂众多,autocharts.js作为通用工具不可能考虑全面,所以仅拿了两种较为常见的结构进行解析,一种是成员为包含一组数据(包括 x 轴、 y 轴的数据)的数组 ,即 Array<Object> ;另一种是一个对象包含多个长度一致的数组,其中数据一一对应的。

对于第一种数据,需要手动传入x轴、y轴的键名,工具将根据键名生成一个echarts基本结构。

第二种数据(推荐),工具将查找对象中出现次数最多且长度一致的数组,若为数字将其视为 y 轴数据,若为字符串则视为 x 轴数据,如果你的数据不是按照这种格式来的,你依然可以通过指定键名来告诉工具哪个是 x 轴哪个是 y 轴。

警告

此工具 v1.0.3 未进行系统测试,请勿用于生产环境!

npm主页:www.npmjs.com/package/aut…

github主页:github.com/LarryZhu-de…

欢迎大家测试,以及提供更多的复杂数据和解析方法,希望autocharts.js可以早日投入生产!

全部评论

相关推荐

牛客316659795号:不是,证明hr初筛已经过了,要投给部门筛一遍
点赞 评论 收藏
分享
永远年轻_永远热泪盈眶:有一个漏了,没打码
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务