[rrd-users] Temperature diff colors
Simon Hobson
linux at thehobsons.co.uk
Wed Sep 9 18:37:23 CEST 2015
Martin <martin at swetech.se> wrote:
> I´m wondering if anyone has a code example for showing diffrent colors in a graph depending on temperatue like this, if it above +0 and up the color is red and if its below -0 its blue ?
Here's one I did that does "light red" when things are close to the limit, and "full on red" when above the limit (it's part of a Bash script) :
> echo "${RRDHead}
>
> DEF:op_pc_ave=${RRDPath}/${RRDName}:op_pc:AVERAGE
> DEF:op_pc_min=${RRDPath}/${RRDName}:op_pc:MIN
> DEF:op_pc_max=${RRDPath}/${RRDName}:op_pc:MAX
> CDEF:op_pc_spread=op_pc_max,op_pc_min,-
> VDEF:v_op_pc_ave=op_pc_ave,AVERAGE
> VDEF:v_op_pc_max=op_pc_max,MAXIMUM
> VDEF:v_op_pc_min=op_pc_min,MINIMUM
> VDEF:v_op_pc_lst=op_pc_ave,LAST
>
> CDEF:alarm1=op_pc_max,${Plimit},100,LIMIT
> AREA:alarm1#FFBFBF:
> CDEF:alarm2=op_pc_max,99,10000,LIMIT
> AREA:alarm2#FF0000:
>
> COMMENT:\" min ave max last\n\"
> HRULE:${Plimit}#7F0000
> AREA:op_pc_min#FFFFFF00:
> AREA:op_pc_spread#BFBFFF::STACK
> LINE1:op_pc_ave#0000FF:\"%age Power\"
> GPRINT:v_op_pc_min:\"%6.0lf \"
> GPRINT:v_op_pc_ave:\"%6.0lf \"
> GPRINT:v_op_pc_max:\"%6.0lf \"
> GPRINT:v_op_pc_lst:\"%6.0lf\"
>
>
> COMMENT:\" Data to ${PrintedTime}\n\"
> >
For yours' what I'd suggest is two CDEFs, one which is X when X < 0 and UNKN when X >= 0, the other which is X when X is >= 0 and UNKN when X < 0. Then plot the first CDEF in blue, and the second one in red.
So something like :
CDEF:xb=x,unkn,x,0,lt,if
CDEF:xr=x,unkn,x,0,ge,if
should (if I've got my RPN right from memory) give you the two series to draw.
More information about the rrd-users
mailing list