我编写了一个小脚本,每次打开一个新的终端窗口并在当前时间将其附加到文本文件时,都会收集外部IP地址。我正在寻找一种想法,以可视化何时/何时更改我的IP地址。我在家庭和校园之间反弹,可以使用脚本将它们分开,但是可以单独可视化它们是很不错的。

我经常使用matplotlib。有任何想法吗?

有帮助吗?

解决方案

将您的IP绘制为 XKCD互联网图 (或在地图子集中放大一些,以更好地显示不同但紧密相邻的IP)。

绘制每个点“堆叠”与您拥有该IP的频率成正比的“堆叠”,并为IPS上色以使更近的点更明亮,更近的点更暗。

其他提示

“当”是一维时间数据,时间表很好地显示了。在较大的时间范围内,您可能会丢失细节,但是大多数“何时”的图都会有此缺陷。

对于“多久”,标准的2D(bar)时间图与频率的标准图,分为每天/周/月的存储桶,这将是一种标准方法。移动平均值也可能是信息的。

您可以将时间轴和条形图结合在一起,当您放大时可见时间轴以及缩放时的频率显示。

在水平轴上有时间的条形图如何,每个条的宽度是您的计算机保存特定IP地址的时间,并且每个条的高度与宽度成反比?这也会给出一个何时与绘图的频率。

您也可以将数据解释为 脉冲密度调制 信号,就像您在Superaudio CD上获得的内容一样。您可以绘制此图形,甚至可以收听数据。由于IP更改事件没有明显的时间长度,因此脉冲的长度将是可调参数。沿着类似的线路,您可以将数据视为方波(三角波,锯齿&C),其中每个IP更改事件都是级别的转换。听起来很有趣 纯数据 项目。

Matplotlib用户指南中有一个部分,涉及在图表上绘制条形图以表示范围。我自己从来没有做过那个,但似乎适合您想要的东西。

假设您指定的终端,我假设您在UNIX变体系统上。使用-F开关以及命令行实用程序尾巴可以使您不断监视文件的末尾。您也可以使用IBM之类的东西 Intify, ,可以监视文件更改或删除文件(并将文件放入其自己的目录中),该目录通常是在大多数分布上标准化的(然后您可以调用尾巴-n 1以获取最后一行)。一旦行更改,您可以使用Python的时间()()来抓住当前系统时间,并从上次更改的时间中减去它,然后使用matplotlib绘制此差异。我认为您可以将时间分类为范围,以使图形更容易。 1个杠铃不到1小时的更改间隔,另一个用于1-5小时之间的更改等等。

Tail -F的实施python位于 这里 如果您不想直接使用它。在检测到文件中的更改后,您可以执行上述内容。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top