2015-07-21 59 views
2

对于缺乏更好的描述方法,我想在Gnuplot 5.0中对模型应用rrange表达式,以确保最大值“舍入”到最近的10个单位。我认为我正处在正确的轨道上,但我很好奇是否有一种更优雅的方法来实现这一点。例如,这会产生什么样我想:Gnuplot范围数字因子

max_range = int(STATS_max) 

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

while (max_range % 10 != 0) { 
    max_range = (max_range + 1) 
} 

因此,例如,13.2 STATS_max值产生的20

感谢提前MAX_RANGE, 戴夫

+0

正如@Chri的后续行为下面是stoph的优秀答案。出于我的目的,我仍然需要保留上面的代码段,以确保max_range不等于零。将ceil()应用于零会产生零值,尽管准确,但它是范围最大值的非法值。错误:“无法绘制一个空的y范围!” – DaveL17

回答

3

首先将你的max_range乘以10,应用ceil函数(取下一个较大的整数值)并将结果乘以10:

max_range = ceil(STATS_max/10.0) * 10.0 
+0

辉煌。非常感谢Christoph! – DaveL17