2014-12-09 8 views

Antwort

4

Wie andyras schrieb, können Sie die zweite y-Achse verwenden, wenn Sie nur zwei Datensätze haben. In diesem Fall müssen Sie auch zu

set ytics nomirror # remove the tickmarks of the left ayis on the right side 
set y2tics   # make the right y-axis 'visible' 

Wenn Sie mehr als einen Datensatz darstellen möchten, würde ich vorschlagen multiplot zu verwenden. Sie können mehrere unabhängige Plots überlagern und für jede von ihnen einen eindeutigen Versatz auf die y-Achse setzen. Sie müssen jedoch darauf achten, dass die Anzahl der Y-Tics und Y-Tick-Positionen gleich ist.

Grundstück:

enter image description here

(ich hier nicht über den Schlüssel scherte, dies noch eingestellt werden muss)

Code:

set multiplot 


set xrange[0:10] 

# We need place to the left, so make the left margin 30% of screen 
set lmargin screen 0.3 

##### first plot 

set ytics 0.4 
set yrange[-1.2:1.2] 

set ylabel "Voltage" textcolor rgb "red" 

plot sin(x) 


##### Second plot 

set ytics 1 
set yrange[-3:3] 

set ytics offset -8, 0 
set ylabel "Current" offset -8, 0 textcolor rgb "green" 

plot 3*cos(x) linecolor 2 

##### Third plot 

set ytics 0.5 
set yrange[-1.5:1.5] 


set ytics offset -16, 0 
set ylabel "Power" offset -16, 0 textcolor rgb "blue" 
plot 3*sin(x)*cos(x) linecolor 3 

unset multiplot 
+0

Danke Sweber! Aber dieser Offset-Befehl ist immer noch verwirrend. Was ist die Bezugslinie für Offset -8 oder -16? – kuki

+0

Der Standard-Offset ist 0, daher ist die Referenz die Spannungsachse in meinem Diagramm. Wenn Sie es angeben, können Sie auch eine Einheit angeben, z. 'Offset-Bildschirm -0.2, 0', was 20% der Fensterbreite nach links bedeutet. Ohne den 'Bildschirm' denke ich, dass es etwas wie Zeichenbreite/Höhe braucht. Die Zeichengröße ist eine ungewöhnliche, aber oft nützliche Einheit. – sweber

+0

Danke für die Aufklärung Sweber! – kuki

2

Ja, Sie können zwei Y-Achsen frei haben, z.

plot x, x**2 axes x1y2 

Die axes Spezifikation können Sie die Dinge auf x1y1 setzen, x2y1, etc. Wenn Sie mehr als zwei Dinge wollen auf den gleichen y-Achse aufgetragen Sie haben Dinge zu normalisieren sich:

plot 'data1.dat' using 1:($2/MAX_1), \ 
    'data2.dat' using 1:($2/MAX_2), \ 
    'data3.dat' using 1:($s/MAX_3) 

Die Variablen MAX_X kann mit dem Befehl stats in gnuplot 4.6+ vorberechnet werden, oder Sie können sie manuell eingeben.

+0

Dank Andyras! – kuki

Verwandte Themen