Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Выражения в обратной польской нотации очень легко обрабатывать программно (для обычной записи необходимо строить бинарное дерево операндов). Теперь вернемся к rrdtool. Запись переменной таким способом выглядит следующим образом:
CDEF:имя_переменной=выражение
Операнды в выраженнии разделяются запятыми. Список операторов довольно широк:
n стандартные арифметические (+, -, *, /, %);
n тригонометрические (SIN, COS);
n алгебраические (LOG, EXP, FLOOR, CEIL);
n сравнения (GT, GE (>=), LT, LE (<=), EQ, работают так – берутся два числа из стека, сравниваются, в стек помещается 0 или 1, например: 1,2,LT поместит в стек 0 (аналогично 1>2));
n условный оператор IF (из стека берутся три значения, если последнее истинно (не ноль) – в стек помещается второе выражение, если ложно – то первое, например 1,2,LT,1,0,IF будет расцениваться так, если 1>2, то поместить в стек 1, иначе поместить 0);
n статистические (MIN, MAX, берут из двух значений из стека минимальное и максимальное соответственно);
n ограничения (LIMIT, берет три значения из стека: var,low,high – если var не лежит между low и high, то в стек помещается UNKNOWN, иначе – var).
Есть еще ряд операций для работы непосредственно со стеком, но применяются они довольно редко, потому рассматриваться здесь не будут. Теперь перейдем к этапу задания отрисовки графика. Для этого существует ряд параметров. Общий вид директив, задающих линии и области, на графике таков:
Тип:имя_переменной[#rgbcolor[:легенда]]
где:
n #rgbcolor – цвет, заданный в RGB-стандарте,
n легенда – подпись под графиком, описывающая линию или область.
Поле «тип» может принимать следующие значения:
n HRULE – горизонтальная линия на графике (идет параллельно шкале времени);
n VRULE – вертикальная линия на графике (переменная должна быть временного типа, для чего в CDEF существуют функция TIME);
n LINE{1,2,3} – линия заданной толщины (1 – невидимая, 3 – самая толстая);
n AREA – закрашенная область;
n STACK – рисует линию над предыдущей линией (заданной LINE, AREA или другим STACK) на расстоянии, равном значению переменной.
Для вывода текстовой информации под графиком используется директива: