【问题标题】:GNUPLOT: saving data from smooth cumulativeGNUPLOT:从平滑累积中保存数据
【发布时间】:2014-06-08 12:02:23
【问题描述】:

我制作了这个实数均匀随机分布(n=1000)的简单累积和直方图:

http://www.filedropper.com/random1_1:random1.dat

而宏是:

unset key
clear
reset


n=120 #number of intervals
max=4. #max value
min=1. #min value

width=(max-min)/n #interval width
#function used to map a value to the intervals
bin(x,width)=width*floor(x/width)+width/2.0 # cosi viene centrato in mezzo
set xtics min,(max-min)/10,max
set boxwidth width
set style fill solid 0.5 border


set ylabel 'Frequency'
set y2label 'Cumulative frequency'
set y2tics 0,100,1000
set ytics nomirror

set xrange [0.9:4.1]
set yrange [0:25]

set terminal pngcairo size 800,500 enhanced font 'Verdana,14'
set output "testCum.png"

plot 'random1.dat' using (bin($1,width)):(1.0) smooth frequency with boxes title 'histogram',\
'' using (bin($1,width)):(1.0) smooth cumulative axis x1y2 w l lt 2 lw 2 lc rgb 'green' title 'cumul'

现在 output.png 是:

如何告诉 Gnuplot 我不仅要获取累积图,还要获取保存在特定 file.dat 中的数字?

【问题讨论】:

    标签: plot statistics gnuplot cumulative-sum


    【解决方案1】:

    您可以在应用smoothset table ... 后保存数据。在最简单的情况下,如果您只需要累积数据,只需使用:

    set table 'random1-smoothed.dat'
    plot 'random1.dat' using (bin($1,width)):(1.0) smooth cumulative
    unset table
    

    为了更好地包含在您的脚本中,您还可以将整个现有的plot 命令包装在set table 中:

    ...
    set table 'random1-smoothed.dat'
    plot 'random1.dat' using (bin($1,width)):(1.0) smooth frequency with boxes title 'histogram',\
    '' using (bin($1,width)):(1.0) smooth cumulative axis x1y2 w l lt 2 lw 2 lc rgb 'green' title 'cumul'
    unset table
    
    set terminal pngcairo size 800,500 enhanced font 'Verdana,14'
    set output "testCum.png"
    replot
    

    【讨论】:

      猜你喜欢
      • 2019-05-02
      • 2021-06-15
      • 2018-07-04
      • 2016-07-20
      • 2012-12-04
      • 2013-01-22
      • 1970-01-01
      • 1970-01-01
      • 2016-07-11
      相关资源
      最近更新 更多