2011-01-26 18 views
14

Tengo un archivo de datos en el siguiente formato.Hacer tics del eje x desde la columna en el archivo de datos en Gnuplot

/foo.jsp 1234 
/bar.jsp 6653 
/foobar.jsp 9986 
/bar.jsp 2221 
/foo.jsp 5643 

I desea trazar este archivo en Gnuplot donde los tics sobre el eje X se toma de la primera columna y los valores en el eje y de la segunda columna. Para ilustrar Me gustaría que el gráfico a ser algo como esto:

10000 x   x 
5000  x   x   x 
0  /foo.jsp /bar.jsp /foobar.jsp 

Cuando las x son los puntos en el gráfico.

El mejor que he podido hacer es:

plot "datafile.dat" using 2:xticlabel(1) with points 

Sin embargo, ese comando repite los tics para cada valor en la primera columna (es decir consigo dos /foo.jsp tics en el eje x). Me gustaría que haya un tic único para cada cadena única en la primera columna.

Respuesta

19

Creo que debería incluir una columna con solo el número x, digamos foo.jsp = 1, bar.jsp = 2, etc. y suponga que pone esto en la primera columna.

Así que su archivo de datos se vería así:

1 foo.jsp 1234
2 bar.jsp 6653
3 foobar.jsp 9986
2 bar.jsp 2221
1 foo.jsp 5643

a continuación, utilice:

plot "datafile.dat" using 1:3:xtic(2) with points 
+0

supongo que te refieres que debo poner números únicos para cada cadena única en º e segunda columna arriba? Eso parece funcionar si lo intento aquí. Sin embargo, eso requiere un procesamiento previo para asociar cada etiqueta con un número. Es posible, pero sería mejor si pudiéramos evitarlo. Gracias por el consejo. –

+0

Eso sería: trazar "datafile.dat" usando 2: xtic (1) con puntos, lo comprobé y funciona, pero se ve muy similar a su solución inicial. – Martin

+0

Además, si realmente quiere 2 puntos por encima de xlabel "foo.jsp", tendrá que poner un número único antes de "foo.jsp" – Martin

Cuestiones relacionadas