Gnuplot数的范围因子

Gnuplot数的范围因子,gnuplot,Gnuplot,由于没有更好的方法来描述它,我想对gnuplot5.0中的一个rrange表达式应用一个模,以确保最大值被“四舍五入”到最接近的10个单位。我认为我的思路是正确的,但我很好奇是否有更优雅的方法来实现这一点。例如,这会产生我想要的: max_range = int(STATS_max) if (max_range == 0) { max_range = 1 } while (max_range % 10 != 0) { max_range = (max_range + 1) }

由于没有更好的方法来描述它,我想对gnuplot5.0中的一个rrange表达式应用一个模,以确保最大值被“四舍五入”到最接近的10个单位。我认为我的思路是正确的,但我很好奇是否有更优雅的方法来实现这一点。例如,这会产生我想要的:

max_range = int(STATS_max)

if (max_range == 0) {
    max_range = 1
}

while (max_range % 10 != 0) {
    max_range = (max_range + 1)
}
例如,STATS_max值为13.2时,max_范围为20

提前感谢,,
Dave

首先将
最大范围
除以10,应用
ceil
函数(取下一个较大的整数值),然后将结果乘以10:

max_range = ceil(STATS_max / 10.0) * 10.0

明亮的非常感谢克里斯托夫!正如下面@Christoph的优秀答案的后续内容。出于我的目的,我仍然需要保留上面的代码段,以确保max_range不等于零。将ceil()应用于零会产生零,该值虽然准确,但对于范围最大值来说是非法值。错误:“无法使用空y范围打印!”