1 GnuPlot |
Um mehrere Kurven in einem Diagramm zu plotten, werden die Kurven-Angaben in der plot-Anweisung durch Kommata voneinander getrennt.
Im Beispiel wird der Gesamtwiderstand je einmal für Parallelschaltung und Reihenschaltung geplottet, wenn einer der beiden Widerstände einen Wert von 10 Ohm hat und der andere Widerstand variabel ist.
rpar(R1,R2)=((R1 > 0.0) ? ((R2 > 0.0) ? ((R1 * R2)/(R1 + R2)) : 0.0) : 0.0)
rser(R1,R2)=R1+R2
set xrange [0:10]
set xlabel "variabler Widerstand"
set ylabel "Gesamtwiderstand"
set key left top
set xtics 1.0
set ytics 1.0
set grid
show grid
plot rpar(x,10.0) title "parallel", rser(x,10.0) title "in Reihe"
Bei Bedarf kann eine zweite y-Achse rechts und eine zweite x-Achse oben hinzugefügt werden. Die zusätzlichen Achsen werden über die Parameter y2label, y2range... anstelle von ylabel, yrange... konfiguriert.
Mit der Option
axes xmyn
kann für einen Plot festgelegt werden, welche Achsen benutzt werden. Dabei sind m und n entweder 1 oder 2.
Der tics-Parameter der ersten x- bzw. y-Achse legt
die Gitterabstände fest und sollte sinnvoll mit der
Skalenschrittweite der zweiten Achse abgestimmt sein.
Im Beispiel überdeckt die y-Achse 1 einen Bereich von 5,
über die Schrittweite 1 ist dieser Bereich in 5 Intervalle
unterteilt.
Würde für y-Achse 2 der Bereich 0...20 beibehalten, würde
eine Unterteilung in 5 Intervalle zu einer ungebräuchlichen
Skalenschrittweite 4 führen. Daher wurde der Bereich bis zu 25
ausgedehnt, bei einer Unterteilung in 5 Intervalle ergibt sich die
Schrittweite 5.
Weisen sowohl Achse 1 als auch Achse 2 den Wert 0 auf, sollte dieser für beide Achsen auf gleicher Höhe (bzw. bei zwei x-Achsen auf gleicher Länge) liegen.
rpar(R1,R2)=((R1 > 0.0) ? ((R2 > 0.0) ? ((R1 * R2)/(R1 + R2)) : 0.0) : 0.0)
rser(R1,R2)=R1+R2
set xrange [0:10]
set xtics 1.0
set xlabel "variabler Widerstand"
set yrange [0:5]
set ytics 1.0
set ylabel "Parallelschaltung"
set y2range [0:25]
set y2tics 5.0
set y2label "Reihenschaltung"
set key left top
set grid
show grid
plot rpar(x,10.0) title "parallel", rser(x,10.0) title "in Reihe" axes x1y2