content: /*
   *   Copyright 2012-2019 Wicked Charts (http://github.com/adessoAG/wicked-charts)
   *
   *   Licensed under the Apache License, Version 2.0 (the "License");
   *   you may not use this file except in compliance with the License.
   *   You may obtain a copy of the License at
   *        http://www.apache.org/licenses/LICENSE-2.0
   *
   *   Unless required by applicable law or agreed to in writing, software
   *   distributed under the License is distributed on an "AS IS" BASIS,
   *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   *   See the License for the specific language governing permissions and
   *   limitations under the License.
   */
  package de.adesso.wickedcharts.showcase.options.highcharts.base;
  
  import de.adesso.wickedcharts.highcharts.options.*;
  import de.adesso.wickedcharts.highcharts.options.Symbol.PredefinedSymbol;
  import de.adesso.wickedcharts.highcharts.options.series.Series;
  import de.adesso.wickedcharts.highcharts.options.series.SimpleSeries;
  import de.adesso.wickedcharts.showcase.options.highcharts.base.ShowcaseOptions;
  
  import java.util.Arrays;
  
  /**
   * Demo of the same basic area chart displayed in the Highcharts Demo at <a
   * href=
   * "http://www.highcharts.com/demo/area-basic">http://www.highcharts.com/demo
   * /area-basic</a>.
   * 
   * @author Tom Hombergs (tom.hombergs@gmail.com)
   * 
   */
  public class BasicAreaOptions extends ShowcaseOptions {
  
    private static final long serialVersionUID = 1L;
  
    public BasicAreaOptions() {
  
      ChartOptions chartOptions = new ChartOptions();
      chartOptions
          .setType(SeriesType.AREA);
      setChartOptions(chartOptions);
  
      setTitle(new Title("US and USSR nuclear stockpiles"));
      setSubtitle(new Title(
          "Source: <a href=\"http://thebulletin.metapress.com/content/c4120650912x74k7/fulltext.pdf\">thebulletin.metapress.com</a>"));
  
      Axis xAxis = new Axis();
      xAxis
          .setLabels(new Labels()
              .setStyle(new CssStyle()));
      setxAxis(xAxis);
  
      Axis yAxis = new Axis();
      yAxis
          .setTitle(new Title("Nuclear weapon states"));
      yAxis
          .setLabels(new Labels()
              .setStyle(new CssStyle()));
      setyAxis(yAxis);
  
      setTooltip(new Tooltip());
  
      PlotOptionsState hoverState = new PlotOptionsState();
      hoverState
          .setEnabled(Boolean.TRUE);
  
      PlotOptionsStateChoice statesChoice = new PlotOptionsStateChoice();
      statesChoice
          .setHover(hoverState);
  
      Marker marker = new Marker();
      marker
          .setEnabled(Boolean.TRUE);
      marker
          .setSymbol(new Symbol(PredefinedSymbol.CIRCLE));
      marker
          .setRadius(2);
      marker
          .setStates(statesChoice);
  
      PlotOptions plotOptions = new PlotOptions();
      plotOptions
          .setPointStart(1940l);
      plotOptions
          .setMarker(marker);
  
      PlotOptionsChoice plotOptionsChoice = new PlotOptionsChoice();
      plotOptionsChoice
          .setArea(plotOptions);
      setPlotOptions(plotOptionsChoice);
  
      Series<Number> series1 = new SimpleSeries();
      series1
          .setName("USA");
      series1
          .setData(Arrays
              .asList(new Number[] { null, null, null, null, null, 6, 11, 32,
                  110, 235, 369, 640, 1005, 1436, 2063, 3057, 4618, 6444, 9822,
                  15468, 20434, 24126, 27387, 29459, 31056, 31982, 32040, 31233,
                  29224, 27342, 26662, 26956, 27912, 28999, 28965, 27826, 25579,
                  25722, 24826, 24605, 24304, 23464, 23708, 24099, 24357, 24237,
                  24401, 24344, 23586, 22380, 21004, 17287, 14747, 13076, 12555,
                  12144, 11009, 10950, 10871, 10824, 10577, 10527, 10475, 10421,
                  10358, 10295, 10104 }));
      addSeries(series1);
  
      Series<Number> series2 = new SimpleSeries();
      series2
          .setName("USSR/Russia");
      series2
          .setData(Arrays
              .asList(new Number[] { null, null, null, null, null, null, null,
                  null, null, null, 5, 25, 50, 120, 150, 200, 426, 660, 869,
                  1060, 1605, 2471, 3322, 4238, 5221, 6129, 7089, 8339, 9399,
                  10538, 11643, 13092, 14478, 15915, 17385, 19055, 21205, 23044,
                  25393, 27935, 30062, 32049, 33952, 35804, 37431, 39197, 45000,
                  43000, 41000, 39000, 37000, 35000, 33000, 31000, 29000, 27000,
                  25000, 24000, 23000, 22000, 21000, 20000, 19000, 18000, 18000,
                  17000, 16000 }));
      addSeries(series2);
  
    }
  
    @Override
    public String getLabel() {
      return "Basic area";
    }
  
  }
  