Me gustaría convertir un archivo como:
Name X Y
a 1 2
b 4 1
s 3 3
en un gráfico XY con los puntos XY etiquetados con Nombre.
¿Cómo puedo hacerlo? Creo que esto se puede hacer con gnuplot, pero aún no pude hacerlo.
Me gustaría convertir un archivo como:
Name X Y
a 1 2
b 4 1
s 3 3
en un gráfico XY con los puntos XY etiquetados con Nombre.
¿Cómo puedo hacerlo? Creo que esto se puede hacer con gnuplot, pero aún no pude hacerlo.
Respuestas:
Puede colocar etiquetas en un desplazamiento especificado de los puntos utilizando el siguiente comando gnuplot:
echo "plot 'file.dat' using 2:3 pt 2 notitle, '' using 2:3:1 with labels offset 0.5,0.5 notitle;" | gnuplot -persist
NB: funciona solo si gnuplot se ha compilado con --enable-datastrings (gracias a DaveParillo por la aclaración)
labels
estilo está disponible sólo si gnuplot se construye con la opción de configuración --enable-datastrings
El argumento de GNU no puede hacer esto solo. No sé qué hacer con el texto. Si sus datos existen en un archivo llamado file.dat, entonces:
perl -ane 'print "set label \"($F[0])\" at $F[1],$F[2]\n"' file.dat > label.plt
producirá un archivo de etiqueta que puede usar en gnuplot. Luego puede producir una trama (muy básica) como esta:
gnuplot> load "label.plt"
gnuplot> plot 'file.dat' u 2:3
Puede jugar con el desplazamiento de la etiqueta si lo desea. Por ejemplo,
"set label \"($F[0])\" at $F[1]+0.05,$F[2]+0.05\n"'
mueve las etiquetas un poco, para que no se encuentren justo en contra de sus puntos.