Здесь есть несколько тем (в javascript, c ++, ...), но еще не найдено ни одной для gnuplot.
По сути, я хочу заменить "nan" на "---" в ярлыках.
Я знаю, что могу установить NaN = "---"
, но тогда NaN
ведет себя как строка, и другой код необходимо адаптировать.
### How to compare to NaN?
NaN = GPVAL_NaN # default value for NaN
a = NaN
print (a==NaN ? "---" : sprintf("%g",a))
print (a==NaN ? sprintf("%g",a) : "---")
print (a!=NaN ? "---" : sprintf("%g",a))
print (a!=NaN ? sprintf("%g",a) : "---")
a = 123
print (a==NaN ? "---" : sprintf("%g",a))
print (a==NaN ? sprintf("%g",a) : "---")
print (a!=NaN ? "---" : sprintf("%g",a))
print (a!=NaN ? sprintf("%g",a) : "---")
### end of code
Результат:
NaN
---
NaN
---
123
---
123
---
Итак, ни одна из комбинаций не справляется с работой.
Наконец, я обнаружил, что, похоже, работает следующее.
print (a/a == 1 ? sprintf("%g",a) : "---")
Мои вопросы:
Будет ли a/a
всегда равным 1
или могут быть ошибки округления в особых случаях?
Это "тот" способ, как это сделать, или я что-то упустил?