ECharts是百度推出的基于JavaScript实现的开源可视化库,可以说涵盖量非常广,基本上我们需要用到的图表,它都能提供,现在更新到30版本,我看了下官网给出的例子,可以帮我们实现很多酷炫的图表要求,大家可自行欣赏一下:EChartsDemo。
对于图表这块的开发,使用一些流行的图表库可以大大提高我们的开发效率,目前较为流行的图表库大概有Echarts,Hcharts,AntV,他们都是大同小异,我印象比较深刻的是Hcharts是支持多坐标轴的,Echarts好像是不支持的,但是对于小程序的选择我们选择的是阿里的AntV-f2,因为他明确指出了适合小程序开发,而且AntV-f2除了不支持一些document,其他的大部分功能都是支持的,我们就没有再考虑其他的库,但是官方并没有太多关于小程序的具体使用文档,我们只能根据js的相关事例翻译成小程序的语法。
钉钉小程序开发工具: >
首先附上实现效果,被分了段的柱状图
幸亏了公司的设计师出的难题,不然我也不会去捣鼓这个东西的
这个图表的类型是 pictoriaBar ,在echarts 34版本(版本记得不太明确)之后有了这个类型的图
介绍下这个属性的具体用处:
barWidth: 设置柱子的宽度
symbol:设置小块的样式
symbolRepeat: 设置柱子上的小块是否重复,我尝试过发现,默认为false,只显示一个小块
symbolOffset: 设置每个柱子的位置(每个柱子的位置需要进行计算得出)
symbolSize: 设置每个小块的大小
constchartInit = {color: ["#7AC9D2","#00C1DE","#00749F","#77BEE8","#1890FF","#3436C7","#0103A0","#000272"],backgroundColor:"transparent",grid: {left:"10px",top:"50px",right:"50px",bottom:"16px",containLabel:true},xAxis: {type:"category",data: ["2018/08/15","2018/10/02","2018/01/19","2018/05/23","2018/09/28","2018/02/21","2018/11/11","2018/06/14"],axisLabel: {color:"#AFBCC4"},axisTick: {show:false},axisLine: {show:false} },yAxis: {name:"单位",axisLine: {show:false},type:"value",nameGap:10,axisTick: {show:false},axisLabel: {color:"#747677"},splitLine: {lineStyle: {color:"rgba(216,216,216,010)",type:"solid"} } },legend: {top:20,data: [ {name:"东向西直行",icon:"square"}, {name:"东向西右转",icon:"square"}, {name:"西向东直行",icon:"square"}, {name:"西向东左转",icon:"square"}, {name:"南向北直行",icon:"square"}, {name:"南向北左转",icon:"square"}, {name:"北向南直行",icon:"square"}, {name:"北向南左转",icon:"square"} ] },series: [ {name:"东向西直行",type:"pictorialBar",symbol:"roundRect",symbolRepeat:true,// 分节barWidth:10,symbolSize: [10,5],//size,单个symbol的大小data: [120,132,101,134,90,230,210,180] }, {name:"东向西右转",type:"pictorialBar",barWidth:10,symbolRepeat:true,symbol:"roundRect",symbolOffset: [13,0],// 柱子的位置symbolSize: [10,5],//size,单个symbol的大小data: [220,182,191,234,290,330,310,290] }, {name:"西向东直行",type:"pictorialBar",symbolRepeat:true,symbol:"roundRect",symbolOffset: [26,0],// 柱子的位置symbolSize: [10,5],//size,单个symbol的大小barWidth:10,data: [150,232,201,154,190,330,410,430] }, {name:"西向东左转",type:"pictorialBar",symbolRepeat:true,symbol:"roundRect",symbolOffset: [39,0],// 柱子的位置symbolSize: [10,5],//size,单个symbol的大小barWidth:10,data: [320,332,301,334,390,330,320,503] }, {name:"南向北直行",type:"pictorialBar",barWidth:10,symbol:"roundRect",symbolRepeat:true,symbolOffset: [52,0],// 柱子的位置symbolSize: [10,5],//size,单个symbol的大小data: [820,932,901,934,1290,1330,1320,1222] }, {name:"南向北左转",type:"pictorialBar",barWidth:10,symbol:"roundRect",symbolRepeat:true,symbolOffset: [65,0],// 柱子的位置symbolSize: [10,5],//size,单个symbol的大小data: [820,932,901,934,1290,1330,1320,1290] }, {name:"北向南直行",type:"pictorialBar",barWidth:10,symbol:"roundRect",symbolRepeat:true,symbolOffset: [78,0],// 柱子的位置symbolSize: [10,5],//size,单个symbol的大小data: [120,132,101,134,90,230,210,180] }, {name:"北向南左转",type:"pictorialBar",barWidth:10,symbol:"roundRect",symbolRepeat:true,symbolOffset: [91,0],// 柱子的位置symbolSize: [10,5],//size,单个symbol的大小data: [120,132,101,134,90,230,210,180] } ]};
说一些我常用到的大数据分析工具
1专业的大数据分析工具
2各种Python数据可视化第三方库
3其它语言的数据可视化框架
一、专业的大数据分析工具
1、FineReport
FineReport是一款纯Java编写的、集数据展示(报表)和数据录入(表单)功能于一身的企业级web报表工具,只需要简单的拖拽 *** 作便可以设计复杂的中国式报表,搭建数据决策分析系统。
2、FineBI
FineBI是新一代自助大数据分析的商业智能产品,提供了从数据准备、自助数据处理、数据分析与挖掘、数据可视化于一体的完整解决方案,也是我比较推崇的可视化工具之一。
FineBI的使用感同Tableau类似,都主张可视化的探索性分析,有点像加强版的数据透视表。上手简单,可视化库丰富。可以充当数据报表的门户,也可以充当各业务分析的平台。
二、Python的数据可视化第三方库
Python正慢慢地成为数据分析、数据挖掘领域的主流语言之一。在Python的生态里,很多开发者们提供了非常丰富的、用于各种场景的数据可视化第三方库。这些第三方库可以让我们结合Python语言绘制出漂亮的图表。
1、pyecharts
Echarts(下面会提到)是一个开源免费的javascript数据可视化库,它让我们可以轻松地绘制专业的商业数据图表。当Python遇上了Echarts,pyecharts便诞生了,它是由等一群开发者维护的EchartsPython接口,让我们可以通过Python语言绘制出各种Echarts图表。
2、Bokeh
Bokeh是一款基于Python的交互式数据可视化工具,它提供了优雅简洁的方法来绘制各种各样的图形,可以高性能的可视化大型数据集以及流数据,帮助我们制作交互式图表、可视化仪表板等。
三、其他数据可视化工具
1、Echarts
前面说过了,Echarts是一个开源免费的javascript数据可视化库,它让我们可以轻松地绘制专业的商业数据图表。
大家都知道去年春节以及近期央视大规划报道的百度大数据产品,如百度迁徙、百度司南、百度大数据预测等等,这些产品的数据可视化均是通过ECharts来实现的。
2、D3
D3(DataDrivenDocuments)是支持SVG渲染的另一种JavaScript库。但是D3能够提供大量线性图和条形图之外的复杂图表样式,例如Voronoi图、树形图、圆形集群和单词云等。
本文同步发表于个人的 CSDN博客
echarts5 以上的版本,echarts容器支持直接设定百分比宽高,但是仍然会有低版本的一个问题,就是浏览器尺寸变动的时候,echarts容器不会响应式的变化。
为了解决这个问题,有了如下解决方案:
其中父元素一定要使用行内样式的方式设定宽高。
在处理echarts图表的时候,往往需要使用 windowonresize 来监听页面大小,从而进一步去改变echarts的大小,但是 resize 事件触发的频率极其频繁,如果页面的echarts图表又很多,这无疑是一件十分灾难的事情。
首先定义一个节流函数,需要接收一个函数,并且返回一个函数,示例如下:
原理很简单,就是使用 setTimeout 延迟执行,如果尚未执行完毕,则直接返回。
应用如下:
效果还是很明显的:
以上就是关于e chart s是基于什么实现的全部的内容,包括:e chart s是基于什么实现的、钉钉小程序图表库AntV - F2 使用总结、echarts 自定义图表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)