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(); }