数据集中通常存在异常值。gnuplot 使用数据的最小值和最大值进行自动缩放。但是任何想法如何使缩放对异常值具有鲁棒性?我正在考虑bind一个计算分位数/百分位数的函数。
array DATA[1000]
do for [i=1:1000] {DATA[i]=invnorm(rand(0))}
DATA[42] = 1e7
pl DATA pt 7
pl [][-4:4] DATA pt 7
Run Code Online (Sandbox Code Playgroud)

经过大量交互式缩放或手动调整绘图范围后:

该stats命令将报告四分位数。您可以使用来自stats. 使用中位数 +/- 1.5 *(四分位间距)将提供与boxplot.
bind 'S' 'set yrange [ STATS_median_y - 1.5 * (STATS_up_quartile_y-STATS_lo_quartile_y) : STATS_median_y + 1.5 * (STATS_up_quartile_y-STATS_lo_quartile_y) ]; replot'
stats DATA using 1:2
plot DATA using 1:2
pause -1 "Type 'S' in plot window to rescale"
Run Code Online (Sandbox Code Playgroud)
将此与
plot DATA using 1:2 with boxplot
Run Code Online (Sandbox Code Playgroud)