int blockSize = 30; // clear the chart Element.Series.Clear(); // fill the chart var series = Element.Series.Add("My Series"); series.ChartType = SeriesChartType.Line; series.XValueType = ChartValueType.Int32; int counter = 0; int cnt = 0; var chartArea = Element.ChartAreas[series.ChartArea]; Element.Series["My Series"].BorderWidth = 3; Element.Series["My Series"].MarkerStyle = MarkerStyle.Circle; Element.Series["My Series"].MarkerSize = 10; Element.Series["My Series"].SmartLabelStyle.Enabled = true; series.Points.Clear(); foreach( DataGridViewColumn col in dataGridView1.Columns) { if (row.Cells[counter].Value != null && counter > 0) { series.Points.AddXY(col.HeaderText, row.Cells[counter].Value.ToString()); // the following line overwrites the column Header text // series.Points[cnt].AxisLabel = row.Cells[counter].Value.ToString(); if (Convert.ToDouble(row.Cells[counter].Value.ToString()) < minVal) { minVal = Convert.ToDouble(row.Cells[counter].Value.ToString()); } if (Convert.ToDouble(row.Cells[counter].Value.ToString()) > maxVal) { maxVal = Convert.ToDouble(row.Cells[counter].Value.ToString()); } cnt += 1; } counter += 1; } // set view range to [0,max] chartArea.AxisX.Minimum = 1; chartArea.AxisX.Maximum = cnt; chartArea.AxisY.Minimum = minVal; chartArea.AxisY.Maximum = maxVal; // enable autoscroll chartArea.CursorX.AutoScroll = true; // let's zoom to [0,blockSize] (e.g. [0,100]) chartArea.AxisX.ScaleView.Zoomable = true; // chartArea.AxisX.ScaleView.SizeType = DateTimeIntervalType.Number; int position = 0; // int size = blockSize; int size = 10; chartArea.AxisX.ScaleView.Zoom(position, size); // disable zoom-reset button (only scrollbar's arrows are available) chartArea.AxisX.ScrollBar.ButtonStyle = ScrollBarButtonStyles.SmallScroll; // set scrollbar small change to blockSize (e.g. 100) chartArea.AxisX.ScaleView.SmallScrollSize = blockSize; StripLine stripLine = new StripLine(); // chartArea.AxisY.StripLines.Remove(stripLine); stripLine.IntervalOffset = mminVal; stripLine.StripWidth = stripLine.StripWidth = (mmaxVal - mminVal); stripLine.TextAlignment = StringAlignment.Near; stripLine.ForeColor = Color.Red; stripLine.Text = "Normal Range"; stripLine.BackColor = Color.LightPink; stripLine.BorderColor = Color.Red; stripLine.BorderDashStyle = ChartDashStyle.Dash; stripLine.BorderWidth = (int)1.5; stripLine.BackHatchStyle = ChartHatchStyle.LightDownwardDiagonal; chartArea.AxisY.StripLines.Add(stripLine);
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)