2010-05-13 22 views
27

¿Es posible trazar dos curvas, con dos ejes correspondientes en gnuplot, cada uno de los cuales tiene una escala diferente?Trazado de dos ejes en gnuplot

Por ejemplo, y=x**2 y y=x**4 en el mismo gráfico (varían lo suficiente como para ser "incómodo" cuando se trazan con la misma escala).

+0

@Kazark - ¿le importaría explicar lo que era el punto de que la edición? Para hacer la pregunta no compatible con ambas respuestas, o? – Rook

+0

@Idigas Por supuesto, no hubo intención de oscurecer la pregunta. Si cree que lo he hecho, puede, por supuesto, deshacer la edición. –

+0

@Kazark - Entonces, ¿por qué editar? – Rook

Respuesta

11

Es posible establecer diferentes rangos para y y2 (los ejes derechos), e incluso para establecer el color de las etiquetas/tics de forma independiente.

Entonces simplemente dividimos la segunda función por 2 (o algo apropiado) y ajustar los colores ... como en este ejemplo:

set xrange [-10:10] 
set yrange [-20:20] 
set y2range [-40:40] 

set ytics 10 nomirror tc lt 1 
set ylabel '2*x' tc lt 1 

set y2tics 20 nomirror tc lt 2 
set y2label '4*x' tc lt 2 

plot 2*x linetype 1, 4*x/2+.5 linetype 2 
40

Puede haber manejado los ejes de forma automática sin tener que escalarlos usted mismo y mantener a escala automática:

set terminal jpeg 
set output 'graph.jpg' 

set xrange [-10:10] 
set ytics 10 nomirror tc lt 1 
set ylabel '2*x' tc lt 1 
set y2tics 20 nomirror tc lt 2 
set y2label '4*x' tc lt 2 
plot 2*x linetype 1, 4*x linetype 2 axes x1y2 

output of the script

+3

Como mis ejes naturalmente tienen una escala diferente, encontré 'autofreq' útil. p.ej. 'establecer ytics autofreq tc lt 1' –

Cuestiones relacionadas