有时可以从数据可视化中获得见解,而不是盯着它看。
TL; DR:这篇文章是关于一个终端可视化工具lehar的 ,该工具在https://github.com/darxtrix/lehar上开源
上周在黑客入侵ptop时 ,我曾想向其中添加一个网络传感器,但我一直在思考如何将其可视化给最终用户。 刚起步时, ptop是Python的任务管理器,我在2015年作为一个辅助项目就曾使用过它。后来,它在GitHub上的趋势库中名列前茅。
网络传感器基本上将向用户显示网络上的当前传入/传出数据。 例如。 显示CPU信息的ptop的CPU传感器如下所示:
我们可以从这里得出的一个区别是,在传感器(如CPU)的情况下,内存有一个upper_bound,而在网络传感器的情况下没有。 因此,可视化应该使用户理解与点t2相比,在点t1处的网络利用率更高,同时还显示了上下行速度,因此这里需要对数据进行相对排序。
我试图与标准排序问题进行类比,其中在某个时间点(排序时的位置)数据可以像网络速度一样随机。 因此,我想提出一种在标准排序算法的情况下显示运动(掉期)的方法,即类似GIF的东西:
Spark提供了一个shell命令,用于根据数据创建此类可视化,但是我找不到用于此的任何Python库。 所以我写了里哈尔 。 lehar可以用作Python2和Python3模块,同时也可以用作shell命令。 该代码在GitHub上开源
lehar使用数据的相对顺序来表示它。 例如。
数据= [1,2,3,4,5]将表示为▂▄▅▇█(高度增加)
为了绘制这种可视化效果,只需在Python代码中调用已失效的简单lehar API。 例如。 我用于绘制上述可视化效果的代码是对标准“ 选择排序”程序的略微修改,在该程序中,不是将较小的元素移到数组的前面,而是将较大的元素移到了末尾。 除此之外,我们仅在第10行打印部分排序的数据,并在第21行给出时间延迟,并在下一行跟随回车 ,以在终端的同一行中打印内容
而且,是的, lehar也支持颜色!
最后,可以像这样将网络传感器和网络统计信息可视化:
您可以为lehar做出贡献,并在https://github.com/darxtrix/lehar/中找到使用说明。
如果您喜欢这个故事,请拍手。 对于任何在终端中显示此信息的评论/想法或其他替代方法,请在此处进行评论。
让我们在Twitter上分享和连接 @darxtrix
From: https://hackernoon.com/visualizing-data-in-terminal-using-lehar-7cfded09c1ad