当想要快速查看一系列值的分布时,茎叶图是一个非常简单但功能强大的工具。教电脑画它需要几分钟,或者你可以简单地用手来做。
唯一的问题是它不保留值的顺序,其中有时包含有用的信息。我一直在尝试想一种同样简单的方法来绘制具有保留顺序的时间序列,但未能提出一些建议。
使用 X 轴上的时间和 Y 轴上的值制作常规时间序列图表的明显解决方案存在这样一个问题,即在进入实际渲染之前需要进行大量准备工作。它在概念上远没有茎叶图那么简单。
有什么东西吗?还是我要求的不可能?
哦,还有一个我差点忘记的重要要求:我希望它可以在行缓冲终端上轻松打印...
我在这里问的原因是因为我的主要用例是健康指标和来自服务器的其他样本。在排除系统故障的原因时,最好快速了解某些子系统随时间推移的行为方式。
我不确定这完全是我想要的,因为它有点复杂,但到目前为止它已经满足了我的需求:
我开始使用温度,这些温度都在 25-60 °C 范围内,所以我可以简单地复制一串
*
以创建一种它们的条形图:当然,这仅适用于方便范围内的值,但当它们存在时它非常有效——当它们不存在时,只需向
$_
表示重复次数的变量添加一些算术操作即可。例如,每秒的平均处理器运行队列长度(对我来说在 0-8 范围内)可以乘以 10 以在输出中显示移位:
这绝对可以满足我的需求。
当然,作为我自己,我采取了这种方式并创建了一个大脚本,其中包括自动计算和更新坐标变换,以及系统平均和自然过程限制的流式计算:
还附有此脚本的未清理源代码。这是初稿,请原谅糟糕的代码。