[%# 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" %]

[% 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 %]

[% IF cumulate %]
  [% USE graph = GD.Graph.area(width, height) %]
  [% graph.set(cumulate => "true") %]
[% ELSE %]
  [% USE graph = GD.Graph.lines(width, height) %]
[% END %]

[% FILTER null;
  graph.set(x_label           => col_field_disp,
            y_label           => y_label,
            y_tick_number     => 8,
            x_label_position  => 0.5,
            x_labels_vertical => x_labels_vertical,
            legend_placement  => "RT",
            line_width        => 2,
            dclrs             => ["lred", "lgreen", "lblue", "lyellow",
                                  "lpurple", "lorange", "black", "green",
                                  "blue", "dpink", "lbrown", "gray", 
                                  "red", "dpurple", "gold", "marine"]);

  # 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;
-%]
