void NewData(int nser) { chart.BeginUpdate(); chart.Data.Children.Clear(); int npts = 10; for (int i = 0; i < nser; i++) { chart.Data.Children.Add(SampleData.CreateSeries("series " + i, npts)); } chart.EndUpdate(); lbls.BeginUpdate(); lbls.Children.Clear(); for (int i = 0; i < nser; i++) { for (int j = 0; j < npts; j++) { var lbl = new ChartLabel() { Foreground = Brushes.Red, Content = "ser " + i, SeriesIndex = i, PointIndex = j, }; lbls.Children.Add(lbl); } } lbls.EndUpdate(); lbls2.Children.Clear(); }
/// <summary> /// /// </summary> /// <param name="dataSource"></param> /// <param name="lcCfg"></param> public void SetLineChartInfo(object dataSource, string filterColumn, string dateTimeColumn, string dataColumn, string title, string yTitle) { //string chartTitle = "2001-1-1 12:00:00 ~ 2001-1-1 12:00:00 一干渠 水位曲线"; //this.LineChart1.Series.Clear(); ////this.LineChart1.Graphs.Clear(); //if (LineChart1.Graphs.Count > 0) //{ // this.LineChart1.Graphs[0].Items.Clear(); //} this.LineChart1.Labels.Clear(); //this.LineChart1 = new LineChart(); //this.LineChart1 = new LineChart(); ChartLabel titleLabel = new ChartLabel(title, 60, 20, false, 600, LabelAlignments.Center, System.Drawing.Color.Black, 18); this.LineChart1.Labels.Add(titleLabel); ChartLabel yLabel = new ChartLabel(yTitle, 5, 150, true, 20, LabelAlignments.Center, System.Drawing.Color.Black, 12); this.LineChart1.Labels.Add(yLabel); DataTable source = dataSource as DataTable; DataTable convertedTable = DataTableConverter.ConvertRowToColumn(source, filterColumn, dataColumn, dateTimeColumn); LineChartConfig lccfg = new LineChartConfig(); lccfg.DataSeriesIDField = dateTimeColumn; lccfg.YLeftValueMin = 0; foreach (DataColumn col in convertedTable.Columns) { if (!StringHelper.Equal(col.ColumnName, dateTimeColumn)) { LineGraphItemConfig item = new LineGraphItemConfig(); item.DataValueField = col.ColumnName; item.Title = col.ColumnName; item.Color = GetLineColor(col.ColumnName); lccfg.LineGraphItemConfigCollection.Add(item); } } //Sort(lccfg.LineGraphItemConfigCollection); lccfg.LineGraphItemConfigCollection.Sort(this.StationOrderList); convertedTable.DefaultView.Sort = dateTimeColumn; LineGraphSetter.Set(this.LineChart1, lccfg, convertedTable.DefaultView, FormatStringManager.FloatValueFormatString); this.ColumnChart1.Visible = false; this.LineChart1.Visible = true; }
public void SetColumnChartInfo(object dataSource, string nameColumn, string valueColumn, string dateTimeColumn, string lineName, string title, string yTitle, string valueFormatString) { this.ColumnChart1.Series.Clear(); this.ColumnChart1.Graphs.Clear(); this.ColumnChart1.Labels.Clear(); this.ColumnChart1.LegendEnabled = false; ChartLabel titleLabel = new ChartLabel(title, 60, 20, false, 600, LabelAlignments.Center, System.Drawing.Color.Black, 18); this.ColumnChart1.Labels.Add(titleLabel); ChartLabel yLabel = new ChartLabel(yTitle, 5, 150, true, 20, LabelAlignments.Center, System.Drawing.Color.Black, 12); this.ColumnChart1.Labels.Add(yLabel); DataTable tbl = dataSource as DataTable; ColumnChartGraph ccg = new ColumnChartGraph(); ccg.EnableViewState = false; ccg.GraphType = ColumnChartGraphTypes.Column; ccg.Title = lineName; foreach (DataRow row in tbl.Rows) { string id = row[nameColumn].ToString(); string value = string.IsNullOrEmpty(valueFormatString) ? row[valueColumn].ToString() : string.Format("{0:" + valueFormatString + "}", row[valueColumn]); //row[valueColumn].ToString(valueFormatString); ColumnChartValuesDataItem item = new ColumnChartValuesDataItem(id, value); ccg.Items.Add(item); } this.ColumnChart1.ValuesMin = 0; this.ColumnChart1.Graphs.Add(ccg); this.ColumnChart1.DataSource = dataSource; this.ColumnChart1.DataSeriesIDField = nameColumn; this.ColumnChart1.DataBind(); // set column label // this.ColumnChart1.ColumnDataLabelFormatString = "{value}"; this.ColumnChart1.Visible = true; this.LineChart1.Visible = false; }
/// <summary> /// /// </summary> /// <param name="dataSource"></param> /// <param name="lcCfg"></param> public void SetDayLineChartInfo(object dataSource, string filterColumn, string dateTimeColumn, string dataColumn, string title, string yTitle) { this.LineChart1.Labels.Clear(); ChartLabel titleLabel = new ChartLabel(title, 60, 20, false, 600, LabelAlignments.Center, System.Drawing.Color.Black, 18); this.LineChart1.Labels.Add(titleLabel); ChartLabel yLabel = new ChartLabel(yTitle, 5, 150, true, 20, LabelAlignments.Center, System.Drawing.Color.Black, 12); this.LineChart1.Labels.Add(yLabel); DataTable source = dataSource as DataTable; DataTable convertedTable = DataTableConverter.ConvertRowToColumn(source, filterColumn, dataColumn, dateTimeColumn); LineChartConfig lccfg = new LineChartConfig(); lccfg.DataSeriesIDField = dateTimeColumn; lccfg.YLeftValueMin = 0; foreach (DataColumn col in convertedTable.Columns) { if (!StringHelper.Equal(col.ColumnName, dateTimeColumn)) { LineGraphItemConfig item = new LineGraphItemConfig(); item.DataValueField = col.ColumnName; item.Title = col.ColumnName; item.Color = GetLineColor(col.ColumnName); lccfg.LineGraphItemConfigCollection.Add(item); } } convertedTable.DefaultView.Sort = dateTimeColumn; //LineGraphSetter.Set(this.LineChart1, lccfg, convertedTable.DefaultView); DataTable xAxisDataSource = GetDayXAxisDataSource(convertedTable, dateTimeColumn); xAxisDataSource.DefaultView.Sort = dateTimeColumn; LineGraphSetter.Set(this.LineChart1, lccfg, convertedTable.DefaultView, xAxisDataSource.DefaultView, FormatStringManager.FloatValueFormatString); this.ColumnChart1.Visible = false; this.LineChart1.Visible = true; }
public void SetColumnChartInfo(object dataSource, string nameColumn, string valueColumn, string dateTimeColumn, string lineName, string title, string yTitle, string valueFormatString) { this.ColumnChart1.Series.Clear(); this.ColumnChart1.Graphs.Clear(); this.ColumnChart1.Labels.Clear(); this.ColumnChart1.LegendEnabled = false; ChartLabel titleLabel = new ChartLabel(title, 60, 20,false, 600, LabelAlignments.Center , System.Drawing.Color.Black , 18); this.ColumnChart1.Labels.Add(titleLabel); ChartLabel yLabel = new ChartLabel(yTitle, 5, 150, true, 20, LabelAlignments.Center, System.Drawing.Color.Black, 12); this.ColumnChart1.Labels.Add(yLabel); DataTable tbl = dataSource as DataTable ; ColumnChartGraph ccg = new ColumnChartGraph(); ccg.EnableViewState = false; ccg.GraphType = ColumnChartGraphTypes.Column; ccg.Title = lineName; foreach (DataRow row in tbl.Rows) { string id = row[nameColumn].ToString(); string value = string.IsNullOrEmpty(valueFormatString) ? row[valueColumn].ToString() : string.Format("{0:" + valueFormatString + "}", row[valueColumn]); //row[valueColumn].ToString(valueFormatString); ColumnChartValuesDataItem item = new ColumnChartValuesDataItem(id, value); ccg.Items.Add(item); } this.ColumnChart1.ValuesMin = 0; this.ColumnChart1.Graphs.Add(ccg); this.ColumnChart1.DataSource = dataSource; this.ColumnChart1.DataSeriesIDField = nameColumn; this.ColumnChart1.DataBind(); // set column label // this.ColumnChart1.ColumnDataLabelFormatString = "{value}"; this.ColumnChart1.Visible = true; this.LineChart1.Visible = false; }
/// <summary> /// /// </summary> /// <param name="dataSource"></param> /// <param name="lcCfg"></param> public void SetLineChartInfo(object dataSource, string filterColumn, string dateTimeColumn, string dataColumn, string title, string yTitle) { //string chartTitle = "2001-1-1 12:00:00 ~ 2001-1-1 12:00:00 一干渠 水位曲线"; //this.LineChart1.Series.Clear(); ////this.LineChart1.Graphs.Clear(); //if (LineChart1.Graphs.Count > 0) //{ // this.LineChart1.Graphs[0].Items.Clear(); //} this.LineChart1.Labels.Clear(); //this.LineChart1 = new LineChart(); //this.LineChart1 = new LineChart(); ChartLabel titleLabel = new ChartLabel(title, 60, 20,false, 600, LabelAlignments.Center , System.Drawing.Color.Black , 18); this.LineChart1.Labels.Add(titleLabel); ChartLabel yLabel = new ChartLabel(yTitle, 5, 150, true, 20, LabelAlignments.Center, System.Drawing.Color.Black, 12); this.LineChart1.Labels.Add(yLabel); DataTable source = dataSource as DataTable; DataTable convertedTable = DataTableConverter.ConvertRowToColumn(source, filterColumn, dataColumn, dateTimeColumn); LineChartConfig lccfg = new LineChartConfig(); lccfg.DataSeriesIDField = dateTimeColumn; lccfg.YLeftValueMin = 0; foreach (DataColumn col in convertedTable.Columns) { if (!StringHelper.Equal(col.ColumnName, dateTimeColumn)) { LineGraphItemConfig item = new LineGraphItemConfig(); item.DataValueField = col.ColumnName; item.Title = col.ColumnName; item.Color = GetLineColor(col.ColumnName); lccfg.LineGraphItemConfigCollection.Add(item); } } //Sort(lccfg.LineGraphItemConfigCollection); lccfg.LineGraphItemConfigCollection.Sort(this.StationOrderList); convertedTable.DefaultView.Sort = dateTimeColumn; LineGraphSetter.Set(this.LineChart1, lccfg, convertedTable.DefaultView, FormatStringManager.FloatValueFormatString); this.ColumnChart1.Visible = false; this.LineChart1.Visible = true; }
/// <summary> /// /// </summary> /// <param name="dataSource"></param> /// <param name="lcCfg"></param> public void SetDayLineChartInfo(object dataSource, string filterColumn, string dateTimeColumn, string dataColumn, string title, string yTitle) { this.LineChart1.Labels.Clear(); ChartLabel titleLabel = new ChartLabel(title, 60, 20, false, 600, LabelAlignments.Center, System.Drawing.Color.Black, 18); this.LineChart1.Labels.Add(titleLabel); ChartLabel yLabel = new ChartLabel(yTitle, 5, 150, true, 20, LabelAlignments.Center, System.Drawing.Color.Black, 12); this.LineChart1.Labels.Add(yLabel); DataTable source = dataSource as DataTable; DataTable convertedTable = DataTableConverter.ConvertRowToColumn(source, filterColumn, dataColumn, dateTimeColumn); LineChartConfig lccfg = new LineChartConfig(); lccfg.DataSeriesIDField = dateTimeColumn; lccfg.YLeftValueMin = 0; foreach (DataColumn col in convertedTable.Columns) { if (!StringHelper.Equal(col.ColumnName, dateTimeColumn)) { LineGraphItemConfig item = new LineGraphItemConfig(); item.DataValueField = col.ColumnName; item.Title = col.ColumnName; item.Color = GetLineColor(col.ColumnName); lccfg.LineGraphItemConfigCollection.Add(item); } } convertedTable.DefaultView.Sort = dateTimeColumn; //LineGraphSetter.Set(this.LineChart1, lccfg, convertedTable.DefaultView); DataTable xAxisDataSource = GetDayXAxisDataSource ( convertedTable, dateTimeColumn ); xAxisDataSource.DefaultView.Sort = dateTimeColumn; LineGraphSetter.Set(this.LineChart1, lccfg, convertedTable.DefaultView, xAxisDataSource.DefaultView, FormatStringManager.FloatValueFormatString); this.ColumnChart1.Visible = false; this.LineChart1.Visible = true; }