Como plotar um gráfico a partir dos valores do arquivo de texto? O arquivo de texto se parece abaixo:
location count1 count2
HZ 100 193
ES 514 289
FP 70 137
BH 31 187
Eu quero plotar esses valores como um gráfico no shell script. Nos valores do eixo x da coluna de localização e nos valores do eixo y da coluna count1 e count2.
plot "/tmp/temp.txt"
falha comBad data on line 1 of file /tmp/temp.txt
. Eu acho que você pode apenas ter que criar uma versão do arquivo com apenas números, sem cabeçalhos de linha / coluna. Como alternativa, use algo como numérico.Respostas:
Usando o mesmo arquivo de entrada (ex.tsv) e criando um script gnuplot para controlar melhor os detalhes
e gnuploting os dados:
nós vemos o histograma correspondente.
Para criar um arquivo png (para carregar e mostrar no SO), adicione mais 2 linhas:
fonte
Solução de trabalho para o gnuplot v5.0:
Arquivo de dados de entrada
loc.dat
:Script gnuplot
locations.plt
:set title "Location data"
- título da trama principalset xlabel "location"
- etiqueta de configuração para ox
eixoset ylabel "count"
- etiqueta de configuração para oy
eixoset grid
- adicionando grade ao gráfico(column(0)):2:xtic(1)
- intervalo de colunas,(column(0))
- como a 1ª coluna no arquivo de entrada possui valores não numéricos, precisamos imitar a 1ª coluna numérica, pois o gnuplot espera apenas valores numéricosw l
- significa com linhas , para unir todos os pontos de dados com linhasLançamento interativo:
Resultado renderizado:
fonte
gnuplot> load "locations.plt"
, o gnuplot exige que,load locations.plt
não funcione e você receberá "erro interno: operador STRING aplicado a variável indefinida ou não STRING" se você esquecer.