2016-03-19 4 views
1

Ich benutze Gnuplot, um einige Berechnungen, die ich getan habe, zu postprocessing und ich habe harte Zeit gnuplot die richtigen Zeilen zu wählen, da es einige seltsame Werte ausgibt, die ich nicht kenne woher kommen. Die ersten 200 Punkte der Ergebnisse beginnen in Zeile 3 und stoppen in 202, aber das funktioniert nicht, wenn ich every ::3::202 verwende. Hat jemand irgendwelche Vorschläge, was ich falsch mache?Gnuplot plotten falsche Linien und einige seltsame Werte

Gnuplot Bild:

enter image description here

Datafile

set terminal pngcairo transparent nocrop enhanced size 3200,2400 font "arial,40" 

set output "Mast41_voltage_muffe.png" 
set key right 
set samples 500, 500 

set xzeroaxis ls 1 lt 8 lw 3 

set style line 12 lc rgb '#808080' lt 0 lw 1 
set style line 13 lt 0 lw 3 
set grid back ls 12 
set decimalsign '.' 
set datafile separator whitespace 

set ylabel "Spenna [pu]" 
set xlabel "Timi [s]" 

plot "mrunout_01.out" every ::3::202 using 2:3 title '5 ohm' with lines lw 3 linecolor rgb '#D0006E',\ 
    "mrunout_01.out" every ::203::402 using 2:3 title '10 ohm' with lines lw 3 linecolor rgb '#015DD4',\ 
    "mrunout_01.out" every ::403::602 using 2:3 title '15 ohm' with lines lw 3 linecolor rgb '#F80419',\ 
    "mrunout_01.out" every ::603::802 using 2:3 title '20 ohm' with lines lw 3 linecolor rgb '#07826A' 

unset output 
unset zeroaxis 
unset terminal 

Antwort

1

every bezieht sich auf den tatsächlichen plotbaren Punkte. In Ihrem Fall müssen Sie 2 Zeilen und den Datenblock am Ende Ihrer Datendatei überspringen.

Da Sie die aktuellen Linien wissen müssen, den Sie zeichnen würde ich die Datei mit einigen externen Tools wie sed

vorab analysieren So können Sie die every und Ihre Plotlinie auslassen wird:

plot "< sed -n '3,202p' mrunout_01.out" using 2:3 title '5 ohm' with lp lw 3 linecolor rgb '#D0006E' 

Mit Ihrer Datendatei hat Gnuplot Probleme beim Lesen. Es kann nicht einmal stats darauf laufen:

stats 'mrunout_01.out' 
    bad data on line 1 of file mrunout_01.out 
+0

Danke, das hat den Trick mit sed. Ich habe Cygwin installiert, um es laufen zu lassen:/aber jetzt zeigt es richtige Werte an. –

+0

@ JóhannesÞorleiksson Sie müssen Cygwin nicht installieren, um sed zu bekommen. Siehe [das GnuWin-Projekt] (http://gnuwin32.sourceforge.net/). Sie bieten native Windows-Ports vieler Linux-Befehle. Einige sind etwas veraltet, aber immer noch großartig. – Matthew

Verwandte Themen