¿Cómo trazas gráficos de barras en gnuplot con etiquetas de texto?
100
Gráfico de barras simple:
set boxwidth 0.5
set style fill solid
plot "data.dat" using 1:3:xtic(2) with boxes
data.dat:
0 label 100
1 label2 450
2 "bar label" 75
Si desea diseñar sus barras de manera diferente, puede hacer algo como:
set style line 1 lc rgb "red"
set style line 2 lc rgb "blue"
set style fill solid
set boxwidth 0.5
plot "data.dat" every ::0::0 using 1:3:xtic(2) with boxes ls 1, \
"data.dat" every ::1::2 using 1:3:xtic(2) with boxes ls 2
Si desea hacer varios compases para cada entrada:
data.dat:
0 5
0.5 6
1.5 3
2 7
3 8
3.5 1
gnuplot:
set xtics ("label" 0.25, "label2" 1.75, "bar label" 3.25,)
set boxwidth 0.5
set style fill solid
plot 'data.dat' every 2 using 1:2 with boxes ls 1,\
'data.dat' every 2::1 using 1:2 with boxes ls 2
Si quieres ser complicado y usar algunos trucos geniales de gnuplot:
Gnuplot tiene pseudo-columnas que se pueden usar como índice para colorear:
plot 'data.dat' using 1:2:0 with boxes lc variable
Además, puede usar una función para elegir los colores que desee:
mycolor(x) = ((x*11244898) + 2851770)
plot 'data.dat' using 1:2:(mycolor($0)) with boxes lc rgb variable
Nota: tendrá que agregar un par de comandos básicos más para obtener el mismo efecto que las imágenes de muestra.
histogram
estilo de trazado, especialmente para agrupar y apilar valores.lc rgb variable
no puedes tener diferentes entradas clave.Aquí data.dat contiene datos del formulario
fuente
Solo me gustaría ampliar la respuesta principal, que usa GNUPlot para crear un gráfico de barras, para principiantes absolutos porque leí la respuesta y todavía estaba confundido por el diluvio de sintaxis.
Comenzamos escribiendo un archivo de texto de comandos GNUplot. Vamos a llamarlo commands.txt:
set term png
configurará GNUplot para generar un archivo .png yset output "graph.png"
es el nombre del archivo al que se generará.Las siguientes dos líneas se explican por sí mismas. La quinta línea contiene mucha sintaxis.
"data.dat"
es el archivo de datos en el que estamos operando.1:3
indica que usaremos la columna 1 de data.dat para las coordenadas x y la columna 3 de data.dat para las coordenadas y.xtic()
es una función que se encarga de numerar / etiquetar el eje x.xtic(2)
, por lo tanto, indica que usaremos la columna 2 de data.dat para las etiquetas."data.dat" se ve así:
Para trazar el gráfico, ingrese
gnuplot commands.txt
en terminal.fuente
Recomiendo el script Perl del generador de gráficos de barras de Derek Bruening. Disponible en http://www.burningcutlery.com/derek/bargraph/
fuente
Puede utilizar directamente los histogramas de estilo proporcionados por gnuplot. Este es un ejemplo si tiene dos archivos en la salida:
fuente