gnuplot: dritte zeile mitbeachten
-
hi,
ich habe eine datei mit werten
x(1) y(1) z(1)
x(2) y(2) z(2)
.
.
.ich möchte nun nur die werte x(i)->y(i) plotten, bei denen z(i) in einem bestimmten bereich ist. zum beispiel zwischen 10 und 20. geht das?
-
plot 'datei' using 1:($2/(($3>10)*($3<20)))Erklärung: ($3>10)*($3<20) gibt 1, falls die dritte Spalte einen Wert zwischen 10 und 20 hat und ergibt 0 in allen anderen Fällen. Im ersten Fall wird also der Wert der zweiten Spalte durch 1 geteilt, also normal gezeichnet. Im Fall dass der Wert der dritten Spalte nicht zwischen 10 und 20 liegt wird durch 0 geteilt und es wird nichts gezeichnet.
edit: Hmm, das Forum erkennt in meiner Gnuplotkommandozeile fälschlicherweise Smileys und ersetzt diese durch Bildchen. Da wo das Bild ist, steht "Doppelpunkt Klammer auf"
edit nman: Habe mir gestattet, die Formatierung zu korrigieren.
-
SeppJ schrieb:
Hmm, das Forum erkennt in meiner Gnuplotkommandozeile fälschlicherweise Smileys und ersetzt diese durch Bildchen.
Tipp: Unten auf "Smilies in diesem Beitrag deaktivieren" klicken.
Gruß
-
SeppJ schrieb:
plot 'datei' using 1:($2/(($3>10)*($3<20)))
Erklärung: ($3>10)*($3<20) gibt 1, falls die dritte Spalte einen Wert zwischen 10 und 20 hat und ergibt 0 in allen anderen Fällen. Im ersten Fall wird also der Wert der zweiten Spalte durch 1 geteilt, also normal gezeichnet. Im Fall dass der Wert der dritten Spalte nicht zwischen 10 und 20 liegt wird durch 0 geteilt und es wird nichts gezeichnet.
edit: Hmm, das Forum erkennt in meiner Gnuplotkommandozeile fälschlicherweise Smileys und ersetzt diese durch Bildchen. Da wo das Bild ist, steht "Doppelpunkt Klammer auf"
danke!
(du kannst auch code-tags benutzen)