Ich habe einige Python-Code, der eine Nachricht empfängt so oft mit einem Zeitstempel und eine Flanke Übergang, entweder niedrig-zu-hoch oder hoch-zu-low. Ich möchte jeden Übergang auf einem Streifendiagramm für eine schnelle und schmutzige Visualisierung der digitalen Wellenform mit der minimalen Menge an Aufwand zu grafisch darstellen.
Können Sie irgendwelche Methoden oder Pakete empfehlen, die dies vereinfachen?
Ich habe auch nichts dagegen, die Daten z. B. im csv-Format zu exportieren und sie in ein anderes Programm zu laden, wenn das einfacher ist.
編集する。
Ich habe CairoPlot ausprobiert:
>>> data = [(10, 0), (11, 1), (12.5, 0), (15, 1)]
>>> def fn(t):
... for d in data:
... if t > d[0]:
... return d[1]
... return data[-1][1]
...
>>> CairoPlot.function_plot( 'tester.png', data, 500, 300, discrete = True, h_bounds=( data[0][0],data[-1][0]), step = 1 )
Dadurch war meine CPU mehr als 10 Minuten lang auf 100 % ausgelastet und verbrauchte ständig Speicher. Ich beendete es, bevor es alle Swap verwendet. Mache ich etwas falsch oder ist CairoPlot nur gebrochen?
Weitere Bearbeitung:
Ich habe jetzt etwas mehr praktikabel mit CairoPlot, basierend lose auf dem obigen Code. Allerdings ist es nicht perfekt wegen der Auflösung: Ich benötige möglicherweise eine Auflösung von bis zu zehn Nanosekunden (1e-8), um einige der kürzeren Pulse zu erfassen. Für ein mehrsekündiges Diagramm braucht man eine sehr lange Zeit mit dieser Methode.