ITPub博客

首页 > > > 安利一个易于上手的数据可视化工具

安利一个易于上手的数据可视化工具

作者:格伯纳 时间:2020-06-23 13:17:52 0 删除 编辑
因为各种原因专栏断更了两个来月。现在稍微闲一点了,望着草稿箱里的东西又暂时不太想动。就先来篇湿货,安利一个最近在玩的玩具吧 。

* * * * * *

最近这段时间对数据可视化产生了兴趣。单纯用 AI 来手画信息图,自然是很不高效的事情(尽管 AI 提供了几个简单的图表工具);用 Excel / Numbers,又不够强大。于是,我就打开终端 <del>念了两句诗</del> 输了行命令:

npm install d3

D3 应该算是最流行的数据可视化工具之一了,那么选它当然吼啊。

Naïve.

事实证明一开始就用 D3 是个挺糟糕的选择。最终,几天下来的结果,跟着文档写了几个 demo 之后,还是暂时搁置了。除了温习了一下 js 的基础, 了解了一下 SVG 的结构,以及将编辑器换成了 Atom 之后,就没有太大收获了。

D3 虽然是个很强大的框架,但毕竟还是太底层了一些。与其说它是一个用于绘图的框架,不如说是用来对输入的数据进行处理的工具。想要直接用 D3 做出一个简单的柱状图,也得费不少功夫。如果是没有多少编程经验的使用者(如我),更加难以使用。

于是,我最后还是把 D3 暂且搁置了。

* * * * * *

题图是对 2015 年香港天气的可视化。数据来自 香港天文台,并且参考了 Sonja Kuijpers 的一个作品:Weather Eindhoven 2014

这张图是用 NodeBox 3 画的。当然,这里呈现出来的是在 AI 里稍加润色、绘制图例,并且在 PS 中调了下色的结果。不过即便是 NodeBox 3「直出」的图,也已经可以做出一些效果来了。

我并不是最近才开始接触 NodeBox 这个工具的。在 2014 年年初,我就开始用这个软件做些小东西玩了。但在当时,我也并未意识到 NodeBox 是有能力绘制一些颇为复杂的图形的。

上图是 NodeBox 的界面,以及题图在 NodeBox 中生成出来的「原始效果」。Grasshopper 的使用者应该会对 NodeBox 的界面感到很熟悉——和 Grasshopper 以及其他一些图形化编程工具(譬如 Facebook 的原型工具 Origami,以及 Origami 所依赖的 Quartz Composer)一样,NodeBox 使用了节点式界面。

这样的节点式界面可以使没有太多编程基础的使用者免于考虑句法的完整性,同时整个「程序」的逻辑关系也相对直观。当然,与上手的简易相对应,节点式界面使用起来的效率自然不如直接写代码高。在 NodeBox 中,假使想用一个相对复杂的表达式来对一个数据进行运算,就拖上好几个节点——虽然用 Python 构建自定义节点,实现较为复杂的数据处理,但过程也算不上十分简便。相对之下,Grasshopper 要在节点中插代码就便利得多。

虽然 Grasshopper 提供的节点(「电池块」)要强大得多,但是从编程到呈现最终的效果,中间一般还得隔着一个 AI。而 NodeBox 直接生成 PostScript 图形,如果不是要实现比较复杂的效果(譬如多重描边、箭头、渐变之类),直接导 PDF / SVG / PNG 就可以用了——而且调整参数能直接看到效果的变化。

对于做平面上的数据可视化而言,NodeBox 依然是一个值得尝试的工具。倘使开发方 EMRG 在正在内测中的下一代的 NodeBox (NodeBox Live) 中,让 Python 可以直接调用底层的绘图 API, 相信可以实现的东西也会更多。

在 NodeBox 官网的 Gallery 中有一些很有趣的例子:Gallery | NodeBox. 可以看到,NodeBox 能做到的东西还是很多的。

在此,请容我先行搁笔 _(:3 」∠)_

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31509949/viewspace-3127814/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: redis cli命令
请登录后发表评论 登录
全部评论
管理员

注册时间:2018-03-30

  • 博文量
    2383
  • 访问量
    984152