Qual é a maneira mais fácil de visualizar dados do stdout como um gráfico?

5

Eu tenho um aplicativo que imprime dados para stdout, um número de ponto flutuante aproximadamente a cada segundo. Eu gostaria de visualizar os números como um gráfico.

Qual é a maneira mais fácil de fazer isso? De preferência, estou procurando algo que eu possa fazer na linha de comando e, idealmente, sem fazer programação ou scripts.

    
por Mads Skjern 13.10.2014 / 15:49

4 respostas

5

Eu gosto de termeter com várias opções e recursos padrão.

termeter can visualize data in the terminal. Data can be passed by pipe or file.

 seq 100 | awk 'BEGIN{OFS="\t"; print "x","sin(x)","cos(x)"}{x=$1/10; print x,sin(x),cos(x)}' | termeter

    
por 15.11.2016 / 23:15
2

Você pode usar gnuplot :

gnuplot -e 'set terminal png; plot "input.txt" with lines' > graph.png

Você pode até canalizar a entrada para ele, basta alterar o nome do arquivo para - :

tail input.txt | gnuplot -e 'set terminal png; plot "-" with lines' > graph.png
    
por 13.10.2014 / 15:53
1

Como seus dados estão sendo gravados no stdout. Você pode redirecioná-lo para um script usando pipe. O roteiro, por sua vez, representaria os dados. Para dar um exemplo simples: aqui está um breve tutorial que escrevi para fazer exatamente isso: link .

Este exemplo mostra como plotar dados 1D da mesma forma que você tem (séries temporais de números de ponto flutuante).

your_script | python plot_script.py -t 1000

1000 sendo a história para manter

Espero que ajude.

    
por 18.12.2017 / 13:44
0

Eu nunca usei, mas há Spark . Soa como você quer.

    
por 13.10.2014 / 15:55