2016-07-06 28 views
0

Ich habe die folgenden Fehler während der Verwendung des Codes.Gnuplot Fehler mit awk in Plot Befehl

gnuplot> set terminal epslatex size 13.1cm,6cm color colortext 
Terminal type set to 'epslatex' 
Options are ' leveldefault color colortext \ 
    dashed dashlength 1.0 linewidth 1.0 butt noclip \ 
    nobackground \ 
    palfuncparam 2000,0.003 \ 
    input size 13.10cm, 6.00cm "" 11 fontscale 1.0 ' 
gnuplot> set output 'C:\MajCha\gnuplot\alpha_cl.tex' 
gnuplot> filename= 'C:\MajCha\gnuplot\DU_08-W-180-65_cf_c_02_InpPrePro.txt' 
gnuplot> # 
gnuplot> set xrange [-10:10] 
gnuplot> set yrange [-3:3] 
gnuplot> plot "< awk '$1==-180.0 { print $2, $3 }'" filename using 2:3 
     warning: Skipping unreadable file "< awk '$1==-180.0 { print $2, $3 }'" 
     No data in plot 

gnuplot> # 
gnuplot> unset output 
gnuplot> reset 

Wie kann ich diesen error.I beheben wollen Check I § 1 = -180 in einem Loop-Bereich bis 180 von -180 gemacht Bitte machen Sie uns ein paar Möglichkeiten zu tun.

mit dem folgenden Code

reset 
set terminal epslatex size 13.1cm,6cm color colortext 
set output 'C:\MajCha\gnuplot\alpha_cl.tex' 
filename= 'C:\MajCha\gnuplot\DU_08-W-180-65_cf_c_02_InpPrePro.txt' 
# 
unset key 
set xrange [-10:10] 
set yrange [-3:3] 
plot for [i=-180:180] filename using (($1==i)?$2:1/0):3 
# 
unset output 
reset 

Der Ausgang Figur ist enter image description here mit dem folgenden Code

reset 
set terminal epslatex size 13.1cm,6cm color colortext 
set output 'C:\MajCha\gnuplot\alpha_cl.tex' 
filename= 'C:\MajCha\gnuplot\DU_08-W-180-65_cf_c_02_InpPrePro.txt' 
# 
unset key 
set xrange [-10:10] 
set yrange [-3:3] 
plot for [i=-180:180] filename using (($1==i)?$2:1/0):3 with lines 
# 
unset output 
reset 

der Ausgang Figur enter image description here

+1

Sie müssen die folgende Syntax: 'plot„

+0

Es würde helfen, wenn Sie ein Stück Ihrer Daten zeigen könnten, und genau über die Ergebnisse, die Sie erhalten möchten. –

+1

'awk' ist ein Befehlszeilentool, das nicht zu gnuplot gehört und das Sie wahrscheinlich nicht auf Ihrem Windows-System haben. – Christoph

Antwort

1

Da filename a gnuplot ist Variable in Ihrem MWE, was yo u tun kann, ist sein Inhalt an den awk verketten:

plot "<awk '$1==-180.0 { print $2, $3 }' ".filename using 1:2 

Sie " das Leerzeichen vor dem Schließen nicht zu kurz kommen: dies bewerten den Befehl

awk '$1==-180.0 { print $2, $3 }' C:\MajCha\gnuplot\DU_08-W-180-65_cf_c_02_InpPrePro.txt 

die meiner Meinung nach ist das, was Sie möchte tun. Momentan evaluiert es awk mit keiner Datei, daher gibt es keine Daten.

Beachten Sie, dass seit Ihrem awk Befehle druckt nur $2 und $3, dessen Ausgang von 2 Spalten besteht, so dass Sie wahrscheinlich using 1:2 in gnuplot wollen.

Schließlich wenn diese MWE ist in der Nähe, was Sie wirklich erreichen wollen, würde ich raten, awk und Nutzung fallen GNUPLOT nur der Einfachheit halber Befehle:

plot filename using (($1==-180)?$2:1/0):3 
+0

Ich habe den folgenden Befehl verwendet und es ist nur Titel grafisch darstellen plotten für [i = -180: 180] Dateiname mit (($ 1 == i)? $ 2: 1/0): 3 mit Zeilen –

+1

Auf diese Weise haben Sie 361 Plots, alle ganzen Zahlen i in [-180.180], also Wenn Sie nicht die Taste 'Unset Key' verwenden, sehen Sie nichts. Dann sollten Sie einige Ihrer Daten veröffentlichen, um zu verstehen, warum das Problem bestehen bleibt. – Joce

+0

Ich habe meine Frage bearbeitet, bitte sehen Sie –