为什么平滑频率为单个类别提供2个计数,Gnuplot 5.0.3 CentOS 6.7?

时间:2016-06-16 13:49:00

标签: gnuplot frequency smooth

我使用平滑频率函数遇到gnuplot 5.0.3的问题。我使用附加的gnpulot脚本在数据上使用函数看起来像下面的示例行4140行。 我在绘图命令中使用平滑频率,一旦在set table包装器中输出$ DB中的频率数据,在实际图形绘图命令中输出一次。 在两种情况下,输出都产生2个相同的箱或类别的计数。 accval_col中的列包含1到9的离散整数数据,所需的工作是计算这些类别的出现次数并将其绘制在直方图中。

如果我为前3400条记录运行脚本,则会在出现问题后正确执行计数。为每个类别分配的计数,总计到该类别的总计数。但我没有解释为什么会发生这种分裂以及如何消除它。

感谢您的任何帮助,谢谢。

    reset
    reset session

    #input file
    accfile=ARG1


    #out_path=ARG2

    #columns
    accval_col=21
    misses_col=13
    #########################################################################
    set term qt #pdfcairo font "Arial,7"
    set datafile separator ";"
    #print out_path
    set output out_path
    stats accfile u (((stringcolumn(misses_col)eq "\N") || (column(misses_col)==0))?column(accval_col):1/0) name "acc" #nooutput

    set table $DB
    plot accfile  u (((stringcolumn(misses_col)eq "\N") || (column(misses_col)==0))?column(accval_col):1/0):(1.0*100/acc_records) smooth frequency  

    unset table
    print $DB


    set multiplot
    unset key
    set yrange [0:100]
    set xrange [0.5:8.5]
    set xtics ("<=3m" 1, "<=7,5m" 2, "<=12m" 3, "<=15m" 4, "<=20" 5, "<=30m" 6, "<=40m" 7, "<=50m" 8)  
    set boxwidth 0.5
    set style fill solid 0.5
    set xlabel "Kategorie"
    set ylabel "Häufigkeit in %"
    set title "Häufigkeitsdiagramm von Fehler Kategorien"
    unset grid
    set margins   8, 8, 6, 6
    plot accfile  u (((stringcolumn(misses_col)eq "\N") || (column(misses_col)==0))?column(accval_col):1/0):(1.0*100/acc_records)  smooth frequency  w boxes

    set yrange[0:100]
    unset xlabel
    unset ylabel
    unset title
    unset ytics
    unset xtics


    set datafile separator
    plot $DB u (stringcolumn(3) ne "u"?column(1):1/0):(column(2)+ 1.5):2 w labels
    unset multiplot
    set o

 enter image description here

输入数据的一个示例行,只有脚本的相关列是21(后面的第二个)

    2016-03-17;86347;1;26.68;300.14;;;;; ;3949600;FRA_VC_CAT10_SMR_W_032016;1;2476187;\N;2476187;-8.53550654341171;5.943441933097802;FRA_VC_CAT10_SMR_W_032016;6125718;3;10.400931398905074

STDOUT上的输出:

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

    * COLUMN: 
      Mean:               3.3971
      Std Dev:            1.2643
      Sample StdDev:      1.2645
      Skewness:           0.9423
      Kurtosis:           4.1839
      Avg Dev:            1.0162
      Sum:            14057.0000
      Sum Sq.:        54367.0000

      Mean Err.:          0.0197
      Std Dev Err.:       0.0139
      Skewness Err.:      0.0381
      Kurtosis Err.:      0.0762

      Minimum:            1.0000 [   6]
      Maximum:            9.0000 [4002]
      Quartile:           3.0000 
      Median:             3.0000 
      Quartile:           4.0000 


    # Curve 0 of 1, 20 points
    # Curve title: "accfile  u (((stringcolumn(misses_col)eq "\N") || (column(misses_col)==0))?column(accval_col):1/0):(1.0*100/acc_records)"
    # x y type
     1  1.08748  i
     2  21.7013  i
     3  33.0594  i
     4  13.0256  i
     5  10.5848  i
     6  2.27163  i
     7  0.652489  i
     8  0.314161  i
     9  0.338328  i
     1  0.0241663  u
     1  0.144998  i
     2  1.57081  i
     3  5.58241  i
     4  3.67327  i
     5  3.67327  i
     6  2.1508  i
     7  0.120831  i
     8  0.0241663  i
     9  0.0241663  i
     1  0.0241663  u

0 个答案:

没有答案