[%# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # # This Source Code Form is "Incompatible With Secondary Licenses", as # defined by the Mozilla Public License, v. 2.0. #%] [% y_label = "$terms.Bugs" %] [% PROCESS "global/field-descs.none.tmpl" %] [% col_field_disp = field_descs.$col_field || col_field %] [% FOR i IN [ 0 .. data.0.0.max ] %] [% data.0.0.$i = display_value(col_field, data.0.0.$i) %] [% END %] [% FOR i IN [ 0 .. row_names.max ] %] [% row_names.$i = display_value(row_field, row_names.$i) %] [% END %] [% FILTER null; USE graph = GD.Graph.bars(width, height); graph.set(x_label => col_field_disp, y_label => y_label, y_tick_number => 8, y_number_format => "%d", x_label_position => 0.5, x_labels_vertical => x_labels_vertical, bar_spacing => 8, shadow_depth => 4, shadowclr => 'dred', show_values => 1, legend_placement => "RT"); graph.set(cumulate => "true", show_values => 0) IF cumulate; # Workaround for the fact that set_legend won't take row_names directly, # because row_names is an array reference rather than an array. graph.set_legend(row_names.0, row_names.1, row_names.2, row_names.3, row_names.4, row_names.5, row_names.6, row_names.7, row_names.8, row_names.9, row_names.10, row_names.11, row_names.12, row_names.13, row_names.14, row_names.15); graph.plot(data.0).png | stdout(1); END; -%]