mirror of
https://github.com/ntop/ntopng.git
synced 2026-05-01 00:19:33 +00:00
Add method to merge pie data
This commit is contained in:
parent
af009d95e4
commit
1fbec514e6
1 changed files with 34 additions and 0 deletions
|
|
@ -699,4 +699,38 @@ end
|
|||
|
||||
-- #################################################
|
||||
|
||||
-- Merge pie data from 2 data sources (compute top of tops)
|
||||
function graph_utils.merge_pie_data(aggregated_data, data, max_values)
|
||||
-- Merge in temporary table
|
||||
local items = {}
|
||||
for _, l in ipairs(aggregated_data.labels) do
|
||||
items[l] = aggregated_data.series[_]
|
||||
end
|
||||
for _, l in ipairs(data.labels) do
|
||||
if items[l] then
|
||||
items[l] = items[l] + data.series[_]
|
||||
else
|
||||
items[l] = data.series[_]
|
||||
end
|
||||
end
|
||||
|
||||
-- Compute tops
|
||||
aggregated_data.labels = {}
|
||||
aggregated_data.series = {}
|
||||
aggregated_data.colors = {}
|
||||
for l, v in pairsByValues(items or {}, rev) do
|
||||
aggregated_data.labels[#aggregated_data.labels+1] = l
|
||||
aggregated_data.series[#aggregated_data.series+1] = v
|
||||
aggregated_data.colors[#aggregated_data.colors+1] = graph_utils.get_html_color(#aggregated_data.colors)
|
||||
if #aggregated_data.labels >= max_values then
|
||||
goto done
|
||||
end
|
||||
end
|
||||
::done::
|
||||
|
||||
return aggregated_data
|
||||
end
|
||||
|
||||
-- #################################################
|
||||
|
||||
return graph_utils
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue