2010-05-13 13 views
27

Ist es möglich, zwei Kurven zu zeichnen, mit zwei entsprechenden Achsen in gnuplot, von denen jede eine andere Skala hat?Zeichnen von zwei Achsen in gnuplot

Zum Beispiel y=x**2 und y=x**4 in der gleichen Grafik (sie variieren genug, um "unbequem" zu sein, wenn sie mit der gleichen Skala gezeichnet werden).

+0

@Kazark - Würden Sie bitte erklären, was war der Sinn dieser bearbeiten? Um die Frage mit beiden Antworten nicht kompatibel zu machen, oder? – Rook

+0

@Idigas Es gab natürlich keine Absicht, die Frage zu verschleiern. Wenn du denkst, dass ich das getan habe, kannst du natürlich den Schnitt rückgängig machen. –

+0

@Kazark - Warum also die Bearbeitung dann? – Rook

Antwort

11

Es ist möglich, verschiedene Bereiche für y und y2 (die rechten Achsen) einzustellen und sogar die Farbe der Beschriftungen/Tics unabhängig voneinander einzustellen.

Dann teilen wir einfach die zweite Funktion von 2 (oder etwas angemessen) und legen Sie die Farben ... wie in diesem Beispiel:

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

Sie die Achsen Sie sie skalieren, die automatisch ohne haben, können behandelt selbst und automatische Skalierung halten:

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

Da meine Achsen natürlich eine andere Skala haben, fand ich 'autofreq' nützlich. z.B. 'set ytics autofreq tc lt 1' –