2016-11-30 4 views
2

Ich berechne die Statistiken einer Datei, wo die zweite Spalte mein X-Wert ist und die 15. Spalte mein Y-Wert ist. Dies funktioniert gut, solange der x-Bereich die gesamten Daten in der Datei abdeckt. dieseGnuplot: Variablen mehrspaltiger Statistiken

stats '$LOGFILE' using 15 name 'rate_Y_' 
print rate_Y_max 

Ausgänge:

* FILE: 
    Records:  74 
    Out of range: 0 
    Invalid:  0 
    Blank:   0 
    Data Blocks: 1 

* COLUMN: 
    Mean:  26391.9815 
    Std Dev: 37555.9366 
    Sum:  1.95301e+06 
    Sum Sq.: 1.55917e+11 

    Minimum: 2793.2603 [ 1] 
    Maximum: 142755.0813 [73] 
    Quartile: 4586.2274 
    Median: 10359.6168 
    Quartile: 27017.6600 

142755.081306 

Aber wenn ich die x-Bereich begrenzen will, muss ich meine X-Spalte

set xrange [40:400] 
stats '$LOGFILE' using 2:15 name 'rate_Y_' 

definieren und eine zweidimensionale Statistik erhalten und meine Variable rate_Y_max ist nicht mehr zugänglich:

* FILE: 
    Records:  7 
    Out of range: 67 
    Invalid:  0 
    Blank:  0 
    Data Blocks: 1 

* COLUMNS: 
    Mean:  182.1429  111416.6321 
    Std Dev:  118.5585  14491.4560 
    Sum:  1275.0000  779916.4248 
    Sum Sq.: 330625.0000  8.83657e+10 

    Minimum:  50.0000 [6] 83292.6937 [0] 
    Maximum:  400.0000 [0] 124953.1493 [5] 
    Quartile:  75.0000  99960.3747 
    Median:  150.0000  111045.6078 
    Quartile: 300.0000  124912.0550 

    Linear Model: y = -120 x + 1.333e+05 
    Correlation: r = -0.9817 
    Sum xy:  1.302e+08 

      line 0: undefined variable: rate_Y_max 

Frage: Wie greife ich auf zweidimensionale Statistikvariablen zu?

Antwort

1

Vom doc:

Wenn zwei Spalten gemeinsam durch einen einzigen Befehl Statistiken analysiert werden, die Suffix „_x“ oder „_y“ werden jeden Variablennamen angehängt. I.e. STATS_min_x ist der Minimalwert in der ersten Spalte, während STATS_min_y der Minimalwert in der zweiten Spalte ist.

So

rate_Y_max_y 

Ist das, was Sie suchen.

Sie sollten wahrscheinlich verwenden:

stats '$LOGFILE' using 2:15 name 'rate' 
print rate_max_y 
1

Verwenden show variables rate_ alle Variablen, um zu sehen, die von Ihnen zu stats ... name 'rate' nennen generiert wurden.

set xrange [0:100] 
stats '+' using 1:($1**2) name 'rate' 

Rufen Sie nun show variables rate_ die druckt

Variables beginning with rate_: 
... 
rate_min_x = 0.0 
rate_max_x = 100.0 
... 
rate_min_y = 0.0 
rate_max_y = 10000.0 
...