2010-12-16 27 views
27

P. ej. si tengo un gráfico y quiero agregar líneas verticales en cada 10 unidades a lo largo del eje X.¿Cómo se dibuja una línea vertical en gnuplot?

+0

posible duplicado de [Gnuplot: Las líneas verticales en posiciones específicas] (http://stackoverflow.com/ preguntas/4499998/gnuplot-líneas-verticales-en-posiciones específicas) –

Respuesta

34

Aquí hay un fragmento de mi script en perl para hacer esto:

print OUTPUT "set arrow from $x1,$y1 to $x1,$y2 nohead lc rgb \'red\'\n"; 

Como se puede deducir de lo alto, en realidad es dibujado como una flecha "sin cabeza".

+7

¡Gracias! Solo para el beneficio del n00bs total y para ser pedante, el ejemplo completo para dibujar una línea vertical en x = 1 que abarca desde y = 0 hasta y = 100, sería simplemente: establecer flecha de 1,0 a 1,100 nohead lc rgb 'rojo' – JJC

+0

De acuerdo ....... :) – Throwback1986

11

, alternativamente, también se puede hacer esto:

p '< echo "x y"' w impulse 

X e Y son las coordenadas del punto en el que se dibuja una barra vertical

+0

Esto parece ser la manera más limpia de hacerlo. Si desea dibujar líneas verticales múltiples, también puede usar el archivo ficticio ''-'' – hertzsprung

+0

No funcionó aquí. – KcFnMi

+0

Esto da 'advertencia: omitir archivo de datos sin puntos válidos x rango no es válido'. Sin embargo, no estoy seguro de por qué. –

9

Puede utilizar la función de grid para el segundo eje no utilizado x2 , que es la forma más natural de dibujar un conjunto de líneas espaciadas regularmente.

set grid x2tics 
set x2tics 10 format "" scale 0 

En general, la cuadrícula se dibuja en la misma posición que los tics en el eje. En caso de que la posición de las líneas no corresponda a la posición tics, gnuplot proporciona un conjunto adicional de tics, llamado x2tics. format "" y scale 0 oculta los x2tics para que solo vea las líneas de la cuadrícula.

Puede diseñar las líneas como de costumbre con linewith, linecolor.

+0

Nota adicional: si usa x2tics para controlar la cuadrícula, debe asegurarse de que x2axis tenga los mismos valores que xaxis. No se garantiza si usa la escala automática. Se corrigió con un conjunto explícito x2range [x: y]. – Ben

16

De la documentación de Gnuplot. Para dibujar una línea vertical desde el fondo hasta la parte superior del gráfico en x = 3, el uso:

set arrow from 3, graph 0 to 3, graph 1 nohead

+1

Enlace al documento: http://gnuplot.sourceforge.net/docs_4.2/node156.html –

Cuestiones relacionadas