2012-05-30 19 views
6

Estoy intentando crear un histograma apilado con los siguientes datos:El uso de gnuplot para histogramas apilados

8.01 1 5 1 
8.02 3 5 1 
8.03 4 4 1 
8.04 3 4 1 
8.05 1 2 1 

He tratado de adaptar el guión de la cuarta ejemplo y en este momento estoy usando esto:

set title "Test" 
set key invert reverse Left outside 
set key autotitle columnheader 
set style data histogram 
set style histogram rowstacked 
set style fill solid border -1 
set boxwidth 0.75 

plot 'test.dat' using 2:xtic(1), '' using 2 title 'Col1', '' using 3 title 'Col2', '' using 4 title 'Col3' 

La parte que he copiado de la que no estoy seguro es using 2:xtic(1). Sé que esto hace que use los valores xtic como la primera columna, que es lo que quiero. Pero no sé qué representa la pieza using 2. Esta es una captura de pantalla de lo que produce la secuencia de comandos:

enter image description here

Todo está bien en la imagen, excepto la barra roja, que no debería estar ahí. ¿Podría alguien explicarme por qué aparece y cómo deshacerse de él?

Respuesta

10

using 2 significa que gnuplot utilizará la segunda columna del archivo para los datos que está trazando. Si está trazando x datos contra y datos, el comando es plot data using 1:2 si x los datos están en la columna 1 y los datos están en la columna 2. plot using 2 trazará los datos de la columna 2 en el eje y, y para cada punto de datos, la x las coordenadas se incrementarán en 1.

Notarás que las barras verde y roja son del mismo tamaño: ambas usan la columna 2. Si no quieres que aparezca la primera barra (roja), puedes cambiar el comando trama para

plot 'test.dat' using 2:xtic(1) title 'Col1', '' using 3 title 'Col2', '' using 4 title 'Col3' 

con este comando, las etiquetas xtic seguirá siendo el mismo, y la primera barra ya no estará allí. Tenga en cuenta que los colores de los datos cambiarán con este comando, ya que lo primero que se trazará será rojo, el segundo verde y el tercero azul.

Cuestiones relacionadas