Existe uma boa ferramenta de gráficos / plotagem / plotagem UNIX de linha de comando por aí? Estou procurando algo que irá plotar pontos xy em um gráfico ASCII.
Só para esclarecer, estou procurando algo que produza um gráfico em ASCII (como estilo ascii-art), para que eu possa usá-lo em uma sessão de shell interativa sem precisar do X.
unix
charts
graph
matplotlib
bajafresh4life
fonte
fonte
Respostas:
Tente o gnuplot . Tem possibilidades de gráficos muito poderosas.
Pode enviar para o seu terminal da seguinte maneira:
fonte
options are feed 79 24'
mensagem significa? Essa altura e largura são? Você pode expandir seu exemplo para defini-los?Embora
gnuplot
seja poderoso, também é realmente irritante quando você deseja inserir vários pontos e obter um gráfico.Felizmente, alguém criou o eplot (easy plot), que lida com todo esse absurdo para você.
Não parece ter uma opção para forçar gráficos de terminal; Eu o corrigi assim:
Um exemplo de uso:
fonte
Outra opção que acabei de encontrar é o bashplotlib . Aqui está um exemplo executado (aproximadamente) nos mesmos dados do meu exemplo eplot :
Ajustar as caixas ajuda um pouco a resolução:
fonte
Gráficos em uma única linha são realmente simples e podem ajudar a ver padrões de altos e baixos.
Veja também pysparklines .
(Alguém sabe de linhas inclinadas unicode, que podem ser encaixadas para formar linhas, e não barras, plotagens?)
fonte
O feedgnuplot é outro front end do gnuplot, que lida com a tubulação de dados.
fonte
eplot
, sugerido em outra resposta?Veja também: asciichart (implementado em Node.js, Python, Java, Go e Haskell)
fonte
O gnuplot é a resposta definitiva para sua pergunta.
Pessoalmente, também sou um grande fã da API do google chart , que pode ser acessada na linha de comando com a ajuda do wget (ou curl) para baixar um arquivo png (e visualizar com xview ou algo semelhante). Gosto dessa opção porque acho os gráficos um pouco mais bonitos (ou seja, melhor antialiasing).
fonte
Você deve usar o gnuplot e não se esqueça de emitir o comando "set term dumb" após a inicialização. Você também pode fornecer uma contagem de linhas e colunas. Aqui está a saída do gnuplot se você emitir "set term dumb" 64 10 "e depois" plot sin (x) ":
Parece melhor em 79x24 (não use a coluna 80 em uma tela 80x24: algumas implementações de maldições nem sempre se comportam bem em torno da última coluna).
Estou usando o gnuplot v4, mas isso deve funcionar em versões um pouco mais antigas ou mais recentes.
fonte
Outra alternativa mais simples / leve ao gnuplot é a ervy , uma ferramenta de gráficos de terminal baseada no NodeJS.
Tipos suportados: dispersão (pontos XY), barra, torta, bala, rosca e calibre.
Exemplos de uso com várias opções podem ser encontrados no repositório de projetos do GitHub
fonte
Verifique o pacote plotext que permite plotar dados diretamente no terminal usando python3. É muito intuitivo, pois seu uso é muito semelhante ao pacote matplotlib .
Aqui está um exemplo básico:
Você pode instalá-lo com o seguinte comando:
Quanto ao matplotlib, as principais funções são scatter (para pontos únicos), plot (para pontos unidos por linhas) e show (para realmente imprimir o plot no terminal). É fácil especificar as dimensões da plotagem, os estilos de ponto e linha e o que quer que seja para mostrar os eixos, marcações numéricas e equações finais, que são usadas para converter as coordenadas plotadas nos valores reais originais.
Aqui está o código para produzir o gráfico mostrado acima:
A opção
clear=True
internashow
é usada para limpar o terminal antes de plotar: isso é útil, por exemplo, ao plotar um fluxo contínuo de dados. Um exemplo de plotagem de um fluxo de dados contínuo é mostrado aqui:A descrição do pacote fornece mais informações sobre como personalizar o gráfico. O pacote foi testado no Ubuntu 16, onde funciona perfeitamente. Possíveis desenvolvimentos futuros (mediante solicitação) podem envolver a extensão do python2 e de outras interfaces gráficas (por exemplo, júpiter). Entre em contato se tiver algum problema ao usá-lo. Obrigado.
Espero que isso responda ao seu problema.
fonte
Além disso, o spark é um pequeno e agradável gráfico de barras no seu shell.
fonte
Aqui está o meu patch para o eplot que adiciona uma opção -T para a saída do terminal:
Usando isso, você pode executá-lo
eplot -T
para obter resultados gráficos ASCII em vez de uma janela do gnuplot.fonte
-d