我们在可视化领域的局限性
上一篇文章提到了疫情之下的产业转型,产业转型的一个大的方向就是线下转线上,即有能力的企业发展自己的电商平台,小企业借助别的电商平台。当这种转型进入一定的阶段后,接下来的必然要走的一步就是进行一些大数据的分析,开发相关的大数据平台。对应的这种情况,其实也是有能力的企业开发自己相应的数据平台,或者提供通用的数据分析平台,对外提供服务,小企业则借助这种服务进行数据分析。
基于这种场景,假如让你进行这种大数据平台的开发,你会怎么做呢?一般来说,我们都会想到现成的可视化的图表框架,比如:echarts, d3, DataView, AntV以及bizChart 等。对于大部分前端开发者来说,其实可视化就是将后端返回的数据带入到这些框架中进行渲染,其他的什么也做不了。
比如某些情况下一个图表需要一次渲染大量数据的情况下,对于渲染的效率以及性能,我们是没有办法控制的,因为我们不知道这个框架具体使用了什么样的算法对这些数据进行加载,这个问题除非是真的对这些图表的渲染原理有深刻的认识之后,才可以去做相应的优化,或者基于自己的更好的方案去实现对应的图表新的渲染方案。
又比如在这些框架提供的图表无法覆盖到的场景下,你会怎么去实现对应的功能呢?
举个简单的例子,下图这个场景:
怎么去实现它呢?
先大致分析一下,这个图分为上中下三个部分,地图,标尺和一个矩形的关系图。但是这三者又是一个联动的关系,这就需要我们去基于我们需要的图表进行扩展。
顶部的地图能够找得到的组件不多,所以我们可能会借助图片的热区域进行实现,这样似乎要简单一些。中间的标尺需要我们自己封装一个组件,底部的矩形关系图需要我们对相应的组件进行扩展即可。
但是即便我们能这个界面的功能实现出来,但是整体上这个过程带给我们的成就感不大。因为我们做的东西没有创造性,只是把这些东西凑在一起。
假如我们对数据可视化的底层原理相关的内容有一个深刻的理解的话,那么我们能够做的事情就更加的有价值,因为我们可以去做一些基础的东西,为其他应用的实现提供解决方案。
当然这只是我自己的一些想法。有的时候会觉得写一些基本的业务代码也挺好的,想法太多也未必是件好事。想法太多,但是自己的能力又达不到相应的层次,这种感觉就是心有余而力不足,其实就是自身的局限性。
自身的认知层次,知识水平,这种局限性又不是一时半刻能够解决的,是个长期的问题。
到了一定的时候,有些事情还真不是说通过拼命努力就能解决的。