Apache ECharts的缘起和发展

更多关于Apache ECharts的文档,请阅读:

缘起

ECharts,缩写来自Enterprise Charts,商业级数据图表,它最初是为了满足公司商业体系里各种业务系统(如凤巢、广告管家等等)的报表需求。以前这些系统的图表需求我们都是使用flash去实现的,百度分工很细,有专门的flash组同学去做这个事情,这就不可避免多了一个沟通环节,作为前端工程师无法独立掌控,不管是数据接口的设计,个性化的需求都得沟通商定。而且一个系统内会有很多个flash在不同场景下出现,他们并没有实现通用。加上乔帮主不让i系列上运行flash以及html5的火热,我们需要寻求一个解决方案。于是在2012年初,当时还是凤巢前端技术负责人的Kener-林峰在凤巢数据平台项目中尝试使用Canvas去做图表,他写了一个全新的轻量级Canvas类库ZRender,那可以说是ECharts的原型,虽然跟现在已经相去十万八千里了。

百度资深前端Erik回归后组建起了百度商业前端通用技术组,在前面提到的背景下加上前端团队的经理祖明的强力支持,数据可视化成为了通用技术里一个重要的研究方向, 林峰也就这样顺理成章的从凤巢技术负责人转到现在的角色,百度商业前端数据可视化团队负责人。痴狂于web3d的技术天才沈毅,沉迷图形图像的杨骥,有SVG/GUI实战经验的宿爽,对颜色如数家珍的陈怀木等等来自一线的工程师加入组建起了可视化团队。

正如前面提到的,ECharts来自ZRender,那时的ZRender是包含图表功能的,甚至拖拽重计算已经在那个时候被实现了,但各种图表数据逻辑与图形渲染耦合,非模块化,Demo时随心所欲的特殊定制,我们意识到这是一个糟糕的设计。ZRender做了第一次大规模的重构,抽离了一切图表相关功能,纯粹的作为底层Canvas类库使用。

而被抽离的图表逻辑构建成为ECharts 0.1版本,但基本仍旧属于Demo状态,因为接口不规范,个性化能力和通用性都太差了。Erik和林峰,以及3位来自Flash组的资深工程师(百度商业系统中多年来所做的各种flash图表基本出自他们或者是他们所带领的团队),花了近2个月时间先后开了6次会议终于制定并发布了百度图表库标准1.0版本。这份标准是在几乎没考虑实现成本的情况下制定的,追求设计的合理、高度个性化的扩展能力,可想而知,这是给团队挖了一个很深很深的坑,在紧接着的近10个月时间里ECharts团队就是看着文档一步一步从这个坑里爬出来。

幸运的是我们真爬出来了,2013年6月30,ECharts发布了1.0版本,这份标准完全成为了ECharts 1.0的API文档,而且我们还加入了更多的数据交互能力。虽然这份标准目前已经成为了ECharts文档的子集了,但它的重要性不容置疑,回过头看这段历程,我们衷心的感谢制定这份标准的5位工程师(林峰、赵庶、Erik、刘阳、杨冬),在我们看来接口设计的合理比起实现成本重要得多。

发展

ECharts缘起公司自身的业务需求,但开源使得它得以发展,虽然业界已经有多如牛毛的JS图表库,但ECharts带着颠覆性的功能设计和技术特征,发布后得到了业界高度关注和好评,迅速成为国内数据可视化领域的“后起之秀”,先后在CSDN、ITEye、InfoQ、中国统计网、统计之都等主流技术媒体上有专题报道,被开源中国收录后即被列为精选推荐,github上发布18个月后star数超过了5000,不仅成为了国内关注度最高的开源项目,我们还是中国第一个也是目前唯一一个入选了Github Explorer Data Visualization板块的开源项目。被百度外数百家企业应用在新闻传媒、证券金融、电子商务、旅游酒店、天气地理、视频游戏、电力等众多领域。

令我们意外的是,ECharts仅发布半年入选成为了“2013年国产开源软件10大年度热门项目”,同时在“2013年度最新的20大热门开源软件”中排名第一。除此之外,ECharts还得到了跨领域以及国外技术团体关注,如在R领域就同时出现国内外多个版本的扩展,听说还有两家亚太地区金融咨询企业正在研发基于ECharts的BI类产品,甚至还有人拿着ECharts跑到纽约市长数据分析部门做应用推广。这都是我们的意外收获,感谢大家的支持。

ECharts背后的那些人

ECharts的进步离不开其背后那些人的卓越贡献,他们有着不同的技能,来自不同的岗位甚至不同的公司。

研发
  • 林峰 百度资深前端研发工程师
  • 沈毅 百度前端研发工程师
  • 董睿 百度资深前端研发工程师
  • 宿爽 百度前端研发工程师
  • 邓红启 百度前端研发工程师
  • 杨骥 百度前端研发工程师
  • 娄同兵 百度前端研发工程师
产品|设计
  • 祖明 百度复合搜索部 前端团队经理
  • 黄悦 百度交互设计师
  • 王俊婷 百度交互设计师
  • 胡瑶 百度前端研发工程师
领域专家顾问
  • 陈为 浙江大学教授
  • 黄志敏 财新传媒CTO
  • 李湛 百度复合搜索部总监
  • 沈浩 中国传媒大学教授
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Apache ECharts是一个基于JavaScript的可视化图表库,它可以帮助开发者快速地构建各种类型的图表,如折线图、柱状图、饼图等。使用Apache ECharts可以轻松地将数据可视化,以便更好地理解和分析数据。 使用Apache ECharts非常简单,只需要引入相关的JavaScript文件,然后创建一个容器来放置图表,最后通过配置选项来定义图表的样式和数据即可。例如,以下代码可以创建一个简单的柱状图: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Apache ECharts简单使用</title> <!-- 引入ECharts的JavaScript文件 --> <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> </head> <body> <!-- 定义一个容器来放置图表 --> <div id="chart" style="width: 600px;height:400px;"></div> <script> // 创建一个基于容器的图表实例 var chart = echarts.init(document.getElementById('chart')); // 配置图表的样式和数据 var option = { title: { text: '柱状图示例' }, tooltip: {}, legend: { data:['销量'] }, xAxis: { data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"] }, yAxis: {}, series: [{ name: '销量', type: 'bar', data: [5, 20, 36, 10, 10, 20] }] }; // 使用刚指定的配置项和数据显示图表。 chart.setOption(option); </script> </body> </html> ``` 以上代码会创建一个柱状图,其中x轴表示商品名称,y轴表示销量,图表中的每个柱子表示对应商品的销量。通过修改配置选项中的数据,可以轻松地创建其他类型的图表。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月满闲庭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值