Frage

Ich habe jedes Mal, wenn ich ein neues Terminalfenster öffne, ein kleines Skript geschrieben, das meine externe IP -Adresse sammelt und es in der aktuellen Zeit an eine Textdatei angehängt hat. Ich suche Ideen, um sich zu visualisieren, wenn/wie oft meine IP -Adresse ändert. Ich springe zwischen Zuhause und Campus und könnte sie mit dem Drehbuch trennen, aber es wäre schön, sie separat zu visualisieren.

Ich verwende häufig Matplotlib. Irgendwelche Ideen?

War es hilfreich?

Lösung

Zeichnen Sie Ihre IP als Punkt auf Die XKCD -Internetkarte (oder einige in der Untergruppe der Karte zoomen, um bessere, aber eng benachbarte IPS zu zeigen).

Zeichnen Sie jeden Punkt "gestapelt" proportional zu der Art und Weise, wie oft Sie diese IP hatten, und färben Sie die IPS, um die neueren Punkte heller und weniger neuer Punkte proportional dunkler zu machen.

Andere Tipps

"Wenn" eine dimensionale zeitliche Daten ist, die durch eine Zeitleiste gut angezeigt wird. Bei größeren Zeitskalen würden Sie wahrscheinlich die Details verlieren, aber die meisten Handlungen von "When" hätten diesen Defekt.

Für "Wie oft" wäre ein Standard -2D -Diagramm für Zeit und Frequenz, das für jeden Tag/Woche/Monat in Eimer unterteilt ist, ein Standard -Weg. Ein gleitender Durchschnitt könnte auch informativ sein.

Sie können das Timeline & Bar -Diagramm kombinieren, wobei die Timeline sichtbar ist, wenn Sie in und das Frequenzdisplay beim Vergrößen vergrößert sind.

Wie wäre es mit einem Balkendiagramm mit der Zeit auf der horizontalen Achse, in der die Breite jedes Balkens die Zeitdauer hat, die Ihr Computer eine bestimmte IP -Adresse hat und die Höhe jedes Balkens umgekehrt proportional zur Breite ist? Das würde auch eine Handlung von When vs wie oft geben.

Sie können die Daten auch als Daten interpretieren Impulsdichte moduliert Signal, wie das, was Sie auf einer Superaudio -CD bekommen. Sie können dies grafisch drapieren oder sogar die Daten anhören. Da es keine offensichtliche Zeitlänge für ein IP -Änderungsereignis gibt, wäre die Länge eines Impulses ein einstellbarer Parameter. In ähnlicher Weise können Sie die Daten als quadratische Welle (dreieckige Welle, Sawtooth & C) anzeigen, wobei jedes IP -Änderungsereignis ein Ebenenübergang ist. Klingt nach einem Spaß Reine Daten Projekt.

In der Matplotlib -Benutzerhandbuch über Zeichnen von Balken in einer Tabelle finden Sie einen Abschnitt, um Bereiche darzustellen. Ich habe das noch nie selbst gemacht, aber es scheint angemessen für das, wonach Sie suchen.

Angenommen, Sie haben das angegebene Terminal angenommen, dass Sie sich in einem Unix -Variantensystem befinden. Durch die Verwendung des Switchs -f -Schalters zusammen mit dem Befehlszeilen -Dienstprogramm können Sie das Ende einer Datei ständig überwachen. Sie könnten auch so etwas wie IBMs verwenden inotifizieren, die Dateiänderungen oder DNOTIFY -DNOTIFY (und die Datei in ihr eigenes Verzeichnis platzieren können) überwachen können), was normalerweise bei den meisten Verteilungen Standard erhält (Sie können dann Tail -n 1 aufrufen, um die letzte Zeile zu erhalten). Sobald sich die Linie ändert, können Sie die aktuelle Systemzeit seit der Epoche mit der Zeit von Python intastet. Ich gehe davon aus, dass Sie die Zeiten in Bereiche einteilen können, um sich selbst zu erleichtern. 1 bar für weniger als 1 Stunden Änderungsintervalle, ein weiteres für Änderungen zwischen 1 und 5 Stunden und so weiter.

Es gibt eine Python -Implementierung von Tail -f, die sich befindet hier Wenn Sie es nicht direkt verwenden möchten. Bei der Erkennung einer Änderung der Datei könnten Sie die oben genannten ausführen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top