web-dev-qa-db-fra.com

Tracer deux axes dans gnuplot

Est-il possible de tracer deux courbes, avec deux axes correspondants dans gnuplot, dont chacun a une échelle différente?

Par exemple, y=x**2 et y=x**4 dans le même graphique (ils varient suffisamment pour être "inconfortables" lorsqu'ils sont tracés avec la même échelle).

28
Rook

Vous pouvez gérer les axes automatiquement sans avoir à les mettre à l'échelle vous-même et à maintenir la mise à l'échelle automatique:

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

46
Andrew S

Il est possible de définir différentes plages pour y et y2 (les axes de droite), et même de définir la couleur des étiquettes/tics indépendamment.

Ensuite, nous divisons simplement la deuxième fonction par 2 (ou quelque chose de approprié) et définissons les couleurs ... comme dans cet exemple:

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
11
osti