Müssen Handlung jedes n ' te Zeile in gnuplot
Ich bin mit gnuplot und haben einige Daten, die haben mehr als 2 Parameter. Ich will nicht von 3D-Grafiken. Also werde ich die Aufteilung der Daten in mehrere Zeilen in der gleichen Grundstück.
Meiner Daten sieht wie folgt aus, in einem Fall:
#k #N #time
1 1 0.000556134
2 1 0.00099
4 1 0.00201011
8 1 0.00376214
16 1 0.00675843
1 2 0.000717646
2 2 0.000794106
4 2 0.0016033
8 2 0.0033602
16 2 0.00795338
1 4 0.000476448
... ... ...
Erste ist die Anzahl der streams, die ich verwenden, der zweite Puffer-Größe und das Letzte mal auf dieser opperation.
Möchte ich ein Diagramm wo die Puffer-Größe X mal Y und es gibt eine Zeile für jede "Menge der streams verwendet werden." Mein code bis jetzt:
reset
set autoscale # scale axes automatically
unset log # remove any log-scaling
unset label # remove any previous labels
set xtic auto # set xtics automatically
set ytic auto # set ytics automatically
#set logscale x 2
#set logscale y 2
set rmargin 10
set bmargin 5
set tmargin 5
set key left top
set title
set term png giant size 1500, 800 crop
set title "Adapter Stream Input" font "verdana, 20"
set xlabel "Buffer Size" font "verdana, 20"
set ylabel "Time in Seconds" font "verdana, 20"
set key right bottom spacing 4 width 5 height 5 font "verdana, 15"
set output "AdapterStreamInputTests.png"
plot "AdapterStreamInputTests.txt" using ($1 == 1 ? $2 : 1/0):($1 == 1 ? $3 : 1/0) title '1 Stream' with linespoints ls 1 linecolor rgb "blue", \
"AdapterStreamInputTests.txt" using ($1 == 2 ? $2 : 1/0):($1 == 2 ? $3 : 1/0) title '2 Stream' with linespoints ls 1 linecolor rgb "red", \
"AdapterStreamInputTests.txt" using ($1 == 4 ? $2 : 1/0):($1 == 4 ? $3 : 1/0) title '4 Stream' with linespoints ls 1 linecolor rgb "yellow", \
"AdapterStreamInputTests.txt" using ($1 == 8 ? $2 : 1/0):($1 == 8 ? $3 : 1/0) title '8 Stream' with linespoints ls 1 linecolor rgb "brown", \
"AdapterStreamInputTests.txt" using ($1 == 16 ? $2 : 1/0):($1 == 16 ? $3 : 1/0) title '16 Stream' with linespoints ls 1 linecolor rgb "pink"
set output
Mein Hauptproblem ist jetzt, dass es Parzellen, alles richtig, aber es wird nicht machen Sie die Linien zwischen den plots. Ich lese aus der Handbuch unter dem Befehl "verwenden" Kapitel, das:
Es sollte angemerkt werden, dass die Parzelle 'le', Handlung 'le' using 1:2, und plot
'le' using ($1):($2) auf subtile Weise verschiedene: 1) wenn die le hat einige Linien
mit einer Spalte und zwei, die erste zu erfinden, x-Werte, wenn
fehlen Sie, der zweite wird ruhig ignorieren Sie die Linien mit einem
Spalte und in der Dritten wird das speichern einer undeniert Wert für Zeilen mit einem
Punkt (so dass ein Grundstück mit Linien, keine Linie verbindet Punkte über die
schlechte Punkt); 2) wenn eine Zeile text enthält in der ersten Spalte, der ersten
wird abgebrochen, das Grundstück an einen Fehler, aber der zweite und Dritte sollte
ruhig überspringen den Müll.
Ich glaube, ich bin in der Dritten Kategorie, und es gibt keine Linien, da jedes Grundstück hat 4 ungültige Grundstücke zwischen Ihnen, aber ich kann nicht finden, dass jede Möglichkeit, es zu beheben.
Ich kann nicht einen Weg finden, um es zu ignorieren ungültige Grundstücke. Und es scheint nicht zu irgendeiner Weise der Vorverarbeitung, die ich finden konnte, könnte das entfernen der ungenutzten Grundstücke. Aber ich bin wahrscheinlich etwas fehlt.
InformationsquelleAutor RobbingDaHood | 2012-03-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nun gibt es zwei Möglichkeiten für Sie.
1.) Verwenden Sie die jeden Befehl wie gezeigt hier, alternative link (wayback machine)
2.) Verwenden Sie den parameter fehlt, wo Sie, wie oben verwenden ?: Schreibweise voranstellen eines Zeichens. Mehr Details wieder auf die große inoffizielle FAQ, alternative link (wayback machine)
plot "AdapterStreamInputTests.txt" alle 5::0 mit 2:3 Titel "1-Stream' mit linespoints ls 1 , \ "AdapterStreamInputTests.txt" alle 5::1 using 2:3 Titel "2-Stream' mit linespoints ls 2 , \ "AdapterStreamInputTests.txt" alle 5::2 mit 2:3 Titel "4 Stream" mit linespoints ls 3, \ "AdapterStreamInputTests.txt" alle 5::3 (2:3 Titel "8 Stream" mit linespoints ls 4, \ "AdapterStreamInputTests.txt" jedes 5.::4 mit 2:3 Titel "16-Stream' mit linespoints ls 5
Der link down ist, können Sie schreiben einen oder zwei Sätze zu "jeder"? Diese Art der Antwort ist nutzlos...
Hinzugefügt eine alternative link auf die wayback machine. Könnte es nett sein, ein backup zu machen von dieser website, wie es ist in der Tat sehr nützlich.
Die Sicherung scheint hier zu sein: lowrank.net/gnuplot/datafile2-e.html
InformationsquelleAutor Azrael3000