open OFC

let () =
  let lg1 = new_area_elem() in
  area_elem_set_width lg1 6;
  area_elem_set_colour lg1 "#209010";
  area_elem_set_legend lg1 "Legend Blabla";
  area_elem_set_font_size lg1 14;
  area_elem_set_dot_style lg1 ~kind:Hollow_dot ~colour:"#20EF00" ~dot_size:8
                               ~tip:"x = #x_label#<br>y = #val#" ();
  area_elem_add_ints lg1 [5; 7; 8; 10; 8; 10; 11; 9; 6];
  area_elem_set_fill lg1 "#349933";
  area_elem_set_fill_alpha lg1 0.3;
  area_elem_set_on_show lg1 ~kind:Drop ~cascade:0.6 ~delay:0.4 ();


  let lg2 = new_line_elem() in
  line_elem_set_width lg2 4;
  line_elem_set_colour lg2 "#102090";
  line_elem_set_legend lg2 "2nd Legend";
  line_elem_set_font_size lg2 14;
  line_elem_set_line_style lg2 ~style:Dash ~on:10 ~off:5 ();
  let d1 = dot ~colour:"#FF0000" ~dot_size:8 ~halo_size:4
               ~on_click:"http://rosettacode.org/"
               ~tip:"This one's important<br>(x = #x_label#; y = #val#)"
               ~label:"Blabla" ~label_colour:"#FFA000" ~font_size:18
               (I 8) in
  line_elem_add_values lg2 [Int 10; Int 11; Int 10; Int 7; Int 5; Int 6; d1;
                             Int 7; dot ~kind:Star ~dot_size:12 (I 9)];
  line_elem_set_dot_style lg2 ~kind:Solid_dot ~colour:"#0020EF" ~dot_size:6
                               ~tip:"x = #x_label#<br>y = #val#" ();
  line_elem_set_on_show lg2 ~kind:Shrink_in ~cascade:1.0 ~delay:0.7 ();


  let c = new_chart() in
  chart_set_bg_colour c "#EFEFEF";
  chart_set_title c ~style:"font-size:16px; font-family:Verdana; color:#503000; text-align:center;"
                    "My Line Dot Chart Test 2";
  chart_set_y_legend c ~style:"color:#736AFF; font-size:14px;"  "Y-Legend hello";
  chart_add_elements c [Area lg1; Line lg2];
  let grid_colour = "#D0D0D0" in
  let colour = "#404040" in
  let labels = new_labels
    ["A"; "B"; "C"; "D"; "E"; "F"; "G"; "H"; "I"] in
  let tick_size = 30 in
  chart_set_y_axis c ~colour ~grid_colour ~stroke:4 ~tick_size ~min:4 ~max:12 ~steps:2 ();
  chart_set_x_axis c ~colour ~grid_colour ~stroke:1 ~tick_size ~labels ();
  print_chart c;
;;