【发布时间】:2012-10-01 15:32:12
【问题描述】:
我正在用命令绘制直方图:
n=3
max=0.5
min=-2.5
width=(max-min)/n
hist(x,width)=width*floor(x/width)+width/2.0
plot "< awk '{if (\$1<3.9 && \$1>3.8) {print \$0}}' /path_to_file/" u (hist(\$2,width)):(1.0) smooth freq w boxes lc rgb "black" lt 1 lw 0.5 notitle
这让我明白了:
显然,我根据数据文件猜测,gnuplot 正在自行决定选择区间 [1.0:0.0]-[0.0:-1.0]-[-1.0:-2.0] 来生成垃圾箱以 [0.5:-0.5:-1.5] 为中心
我需要这些垃圾箱使用区间 [0.5:-0.5]-[-0.5:-1.5]-[-1.5:-2.5] 这将使垃圾箱居中 [0.0:-1.0:-2.0]
我怎样才能做到这一点?
【问题讨论】:
-
您只想更改 x 轴上的标签吗?
-
嗨@mgilson,不,我希望
gnuplot实际使用我写的那些间隔,而不是它自己决定使用的那些间隔。如何告诉gnuplot从哪个位置开始计数以生成具有我设置的宽度的间隔? -
所以你想转换
x -> x-0.5?试试:hist(x,width)=width*floor((x-0.5)/width)+width/2.0 -
嗯,我不完全确定它在做什么,但这不是我需要的。我需要
gnuplot将垃圾箱围绕 0.0、-1.0 和 -2.0(宽度为“1”)居中,而不是默认情况下它们如何居中,即 0.5、-0.5 和 -1.5。我希望gnuplot计算每个区间 [0.5:-0.5]-[-0.5:-1.5]-[-1.5:-2.5] 内的对象数量,并且 not 它在做什么正确现在以 [1.0:0.0]-[0.0:-1.0]-[-1.0:-2.0] 的间隔计算它们。