예제 #1
0
    public void AddSeries(DatedDataCollectionGen<double> series_, string heading_, Color color_, int extent_, string yLabelFormat_)
    {
      DataTable table = series_.ToDataTable();

      NumericTimeSeries nts = new NumericTimeSeries();
      nts.Key = string.Format("Series{0}", heading_);
      nts.Label = heading_;
      nts.PEs.Add(new PaintElement(color_));

      ultraChart.CompositeChart.Series.Add(nts);

      nts.Data.TimeValueColumn = "Date";
      nts.Data.ValueColumn = "Value";

      LineChartAppearance lca = new LineChartAppearance();
      ChartLayerAppearance cla = new ChartLayerAppearance();

      int j = ultraChart.CompositeChart.ChartLayers.Count;

      cla.AxisXKey = "axis1";
      cla.AxisY = findYAxis(extent_, yLabelFormat_);
      //cla.AxisYKey = "axis2";
      cla.ChartAreaKey = "area1";
      cla.ChartType = ChartType.LineChart;
      lca.EndStyle = m_capStyle;
      lca.StartStyle = m_capStyle;
      lca.NullHandling = NullHandling.DontPlot;
      lca.Thickness = LineThickness;
      cla.ChartTypeAppearance = lca;
      cla.Key = string.Format("chartLayer{0}", j.ToString());
      cla.SeriesList = nts.Key;

      ultraChart.CompositeChart.ChartLayers.Add(cla);

      nts.Data.DataSource = table;
      nts.DataBind();

      System.Windows.Forms.CheckBox cb = new System.Windows.Forms.CheckBox();
      cb.Text = heading_;
      cb.AutoSize = true;
      cb.Margin = new Padding(1, 1, 1, 1);
      cb.Tag = j;
      flp.Controls.Add(cb);
      cb.Checked = true;
      cb.CheckedChanged += handleCheckedChanged;
      cb.ForeColor = color_;
      cb.BackColor = Color.FromArgb(15, 15, 15);

      ultraChart.CompositeChart.Legends[0].ChartLayers.Add(cla);

      ultraChart.InvalidateLayers();

    }