diff options
-rw-r--r-- | applications/luci-app-statistics/luasrc/statistics/rrdtool.lua | 11 | ||||
-rw-r--r-- | applications/luci-app-statistics/luasrc/statistics/rrdtool/colors.lua | 16 |
2 files changed, 26 insertions, 1 deletions
diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool.lua index 4586b23caa..c4ea88de92 100644 --- a/applications/luci-app-statistics/luasrc/statistics/rrdtool.lua +++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool.lua @@ -407,7 +407,9 @@ function Graph._generic( self, opts, plugin, plugin_instance, dtype, index ) transform_rpn = dopts.transform_rpn or "0,+", noarea = dopts.noarea or false, title = dopts.title or nil, - weight = dopts.weight or nil, + weight = dopts.weight or + (dopts.negweight and -tonumber(dinst)) or + (dopts.posweight and tonumber(dinst)) or nil, ds = dsource, type = dtype, instance = dinst, @@ -487,6 +489,13 @@ function Graph._generic( self, opts, plugin, plugin_instance, dtype, index ) return x < y end) + -- define colors in order + if opts.ordercolor then + for i, source in ipairs(_sources) do + source.color = self.colors:defined(i) + end + end + -- create DEF statements for each instance for i, source in ipairs(_sources) do -- fixup properties for per instance mode... diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/colors.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/colors.lua index 0d3af712fd..88b3bbcfeb 100644 --- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/colors.lua +++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/colors.lua @@ -25,6 +25,22 @@ function Instance.to_string( self, c ) ) end +function Instance.defined( self, i ) + local t = { + {230, 25, 75}, + {245, 130, 48}, + {255, 225, 25}, + {60, 180, 75}, + {70, 240, 240}, + {0, 130, 200}, + {0, 0, 128}, + {170, 110, 40} + } + return string.format( + "%02x%02x%02x", + t[(i-1) % #t + 1][1], t[(i-1) % #t +1][2], t[(i-1) % #t + 1][3] ) +end + function Instance.random( self ) local r = math.random(255) local g = math.random(255) |