private void GenerateDataButton_Click(object sender, System.Windows.RoutedEventArgs e) { NFloatBarSeries floatBar = (NFloatBarSeries)nChartControl1.Charts[0].Series[0]; GenerateData(floatBar); nChartControl1.Refresh(); }
public void ConfigureChart(NCartesianChart chart) { NOrdinalScaleConfigurator ordinalScale = (NOrdinalScaleConfigurator)chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator; ordinalScale.MajorTickMode = MajorTickMode.CustomStep; ordinalScale.LabelStyle.ContentAlignment = ContentAlignment.TopCenter; ordinalScale.CustomStep = 1; ordinalScale.AutoLabels = false; NFloatBarSeries floatBar = new NFloatBarSeries(); floatBar.DataLabelStyle.Visible = false; floatBar.WidthPercent = 50; chart.Series.Add(floatBar); for (int i = 0; i < m_Tasks.Count; i++) { Task task = m_Tasks[i]; ordinalScale.Labels.Add(task.Label); floatBar.BeginValues.Add(task.Begin.ToOADate()); floatBar.EndValues.Add(task.End.ToOADate()); if (task.NextTasks != null) { floatBar.NextTasks.Add(i, task.NextTasks); } } }
private void FloatbarDepthScroll_Scroll(object sender, Nevron.UI.WinForm.Controls.ScrollBarEventArgs e) { NFloatBarSeries floatbar = (NFloatBarSeries)nChartControl1.Charts[0].Series[1]; floatbar.DepthPercent = FloatbarDepthScroll.Value; nChartControl1.Refresh(); }
private void WidthPercentScrollBar_ValueChanged(object sender, System.Windows.RoutedPropertyChangedEventArgs <double> e) { NFloatBarSeries floatBar = (NFloatBarSeries)nChartControl1.Charts[0].Series[0]; floatBar.WidthPercent = (float)WidthPercentScrollBar.Value * 100.0f; nChartControl1.Refresh(); }
private void ShowGanttConnectorLinesCheckBox_CheckedChanged(object sender, EventArgs e) { NFloatBarSeries floatBar = (NFloatBarSeries)nChartControl1.Charts[0].Series[0]; floatBar.ShowGanttConnectorLines = ShowGanttConnectorLinesCheckBox.Checked; nChartControl1.Refresh(); }
private void GenerateData(NFloatBarSeries floatBar) { const int nCount = 6; floatBar.Values.Clear(); floatBar.EndValues.Clear(); floatBar.XValues.Clear(); // generate Y values for (int i = 0; i < nCount; i++) { double dBeginValue = Random.NextDouble() * 5; double dEndValue = dBeginValue + 2 + Random.NextDouble(); floatBar.Values.Add(dBeginValue); floatBar.EndValues.Add(dEndValue); } // generate X values DateTime dt = new DateTime(2007, 5, 24, 11, 0, 0); for (int i = 0; i < nCount; i++) { dt = dt.AddHours(12 + Random.NextDouble() * 60); floatBar.XValues.Add(dt); } }
private void BarStyleCombo_SelectedIndexChanged(object sender, System.EventArgs e) { NFloatBarSeries floatBar = (NFloatBarSeries)nChartControl1.Charts[0].Series[0]; floatBar.BarShape = (BarShape)BarShapeCombo.SelectedIndex; nChartControl1.Refresh(); }
private void BarShapeComboBox_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e) { NFloatBarSeries floatBar = (NFloatBarSeries)nChartControl1.Charts[0].Series[0]; floatBar.BarShape = (BarShape)BarShapeComboBox.SelectedIndex; nChartControl1.Refresh(); }
private void InitChart() { m_Chart = nChartControl1.Charts[0]; nChartControl1.Controller.Selection.Add(m_Chart); nChartControl1.Controller.Tools.Add(new NDataPanTool()); nChartControl1.Controller.Tools.Add(new NAxisScrollTool()); // set a chart title NLabel title = nChartControl1.Labels.AddHeader("Multi Page Printing"); title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic); title.ContentAlignment = ContentAlignment.MiddleCenter; title.DockMargins = new NMarginsL(5, 5, 5, 5); title.DockMode = PanelDockMode.Top; nChartControl1.Legends[0].Mode = LegendMode.Disabled; // setup chart m_Chart.BoundsMode = BoundsMode.Stretch; m_Chart.DockMode = PanelDockMode.Fill; m_Chart.DockMargins = new NMarginsL(15, 20, 30, 20); m_Chart.Axis(StandardAxis.PrimaryY).ScrollBar.Visible = true; m_Chart.Axis(StandardAxis.PrimaryY).ScrollBar.ResetButton.Visible = false; NDateTimeScaleConfigurator dateTimeScale = new NDateTimeScaleConfigurator(); dateTimeScale.LabelGenerationMode = LabelGenerationMode.Stagger2; m_Chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = dateTimeScale; m_Chart.Axis(StandardAxis.PrimaryX).ScrollBar.Visible = true; m_Chart.Axis(StandardAxis.PrimaryX).ScrollBar.ResetButton.Visible = false; m_Chart.BringToFront(); // create the float bar series m_FloatBar = (NFloatBarSeries)m_Chart.Series.Add(SeriesType.FloatBar); m_FloatBar.UseXValues = true; m_FloatBar.UseZValues = false; m_FloatBar.InflateMargins = true; m_FloatBar.DataLabelStyle.Visible = false; // bar appearance m_FloatBar.BorderStyle.Color = Color.Bisque; m_FloatBar.FillStyle = new NGradientFillStyle(Nevron.GraphicsCore.GradientStyle.Horizontal, GradientVariant.Variant1, Color.LightGray, Color.DarkBlue); m_FloatBar.ShadowStyle.Type = ShadowType.Solid; m_FloatBar.ShadowStyle.Color = Color.FromArgb(30, 0, 0, 0); m_FloatBar.Values.ValueFormatter = new NNumericValueFormatter("0.00"); m_FloatBar.EndValues.ValueFormatter = new NNumericValueFormatter("0.00"); // show the begin end values in the legend m_FloatBar.Legend.Format = "<begin> - <end>"; m_FloatBar.Legend.Mode = SeriesLegendMode.DataPoints; GenerateData(); m_PrintManager = new NPrintManager(nChartControl1.Document); }
private void btnChangeData_Click(object sender, System.EventArgs e) { NFloatBarSeries floatBar = (NFloatBarSeries)nChartControl1.Charts[0].Series[0]; GenerateData(floatBar); nChartControl1.Refresh(); }
/* protected Label Label1; * protected Label Label2; * protected Label Label3; * protected DropDownList BarStyleDropDownList; * protected DropDownList WidthPercentDropDownList; * protected DropDownList DepthPercentDropDownList;*/ protected void Page_Load(object sender, EventArgs e) { nChartControl1.BackgroundStyle.FrameStyle.Visible = false; // set a chart title NLabel title = nChartControl1.Labels.AddHeader("DateTime Float Bar"); title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 14, FontStyle.Italic); title.TextStyle.ShadowStyle.Type = ShadowType.LinearBlur; // setup chart NChart chart = nChartControl1.Charts[0]; chart.BoundsMode = BoundsMode.Stretch; // setup Y axis NLinearScaleConfigurator scaleY = (NLinearScaleConfigurator)chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator; // add interlace stripe NScaleStripStyle stripStyle = new NScaleStripStyle(new NColorFillStyle(Color.Beige), null, true, 0, 0, 1, 1); stripStyle.Interlaced = true; stripStyle.SetShowAtWall(ChartWallType.Back, true); stripStyle.SetShowAtWall(ChartWallType.Left, true); scaleY.StripStyles.Add(stripStyle); // setup X axis NDateTimeScaleConfigurator scaleX = new NDateTimeScaleConfigurator(); scaleX.LabelStyle.Angle = new NScaleLabelAngle(90); chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = scaleX; // create the float bar series NFloatBarSeries floatBar = (NFloatBarSeries)chart.Series.Add(SeriesType.FloatBar); floatBar.UseXValues = true; floatBar.UseZValues = false; floatBar.InflateMargins = true; floatBar.DataLabelStyle.Visible = false; floatBar.ShadowStyle.Type = ShadowType.Solid; floatBar.ShadowStyle.Color = Color.FromArgb(30, 0, 0, 0); floatBar.Values.ValueFormatter = new NNumericValueFormatter("0.0"); floatBar.EndValues.ValueFormatter = new NNumericValueFormatter("0.0"); // show the begin end values in the legend floatBar.Legend.Format = "<begin> - <end>"; floatBar.Legend.Mode = SeriesLegendMode.DataPoints; GenerateData(floatBar); // apply style sheet NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.FreshMultiColor); styleSheet.Apply(nChartControl1.Document); // apply layout ApplyLayoutTemplate(0, nChartControl1, chart, title, nChartControl1.Legends[0]); }
private void InitChart() { m_Chart = nChartControl1.Charts[0]; nChartControl1.Controller.Selection.Add(m_Chart); nChartControl1.Controller.Tools.Add(new NTrackballTool()); // set a chart title NLabel title = nChartControl1.Labels.AddHeader("Printing"); title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic); title.ContentAlignment = ContentAlignment.BottomCenter; title.Location = new NPointL(new NLength(50, NRelativeUnit.ParentPercentage), new NLength(2, NRelativeUnit.ParentPercentage)); // setup chart m_Chart.Width = 90; m_Chart.BoundsMode = BoundsMode.Stretch; m_Chart.Location = new NPointL( new NLength(15, NRelativeUnit.ParentPercentage), new NLength(15, NRelativeUnit.ParentPercentage)); m_Chart.Size = new NSizeL( new NLength(70, NRelativeUnit.ParentPercentage), new NLength(70, NRelativeUnit.ParentPercentage)); NLinearScaleConfigurator linearScale = (NLinearScaleConfigurator)m_Chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator; linearScale.MajorGridStyle.LineStyle.Pattern = LinePattern.Dot; NDateTimeScaleConfigurator dateTimeScale = new NDateTimeScaleConfigurator(); m_Chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = dateTimeScale; dateTimeScale.LabelValueFormatter = new NDateTimeValueFormatter(DateTimeValueFormat.Date); dateTimeScale.LabelGenerationMode = LabelGenerationMode.Stagger2; // create the float bar series m_FloatBar = (NFloatBarSeries)m_Chart.Series.Add(SeriesType.FloatBar); m_FloatBar.UseXValues = true; m_FloatBar.UseZValues = false; m_FloatBar.InflateMargins = true; m_FloatBar.DataLabelStyle.Visible = false; // bar appearance m_FloatBar.BorderStyle.Color = Color.Bisque; m_FloatBar.FillStyle = new NGradientFillStyle(Nevron.GraphicsCore.GradientStyle.Horizontal, GradientVariant.Variant1, Color.LightGray, Color.DarkBlue); m_FloatBar.ShadowStyle.Type = ShadowType.Solid; m_FloatBar.ShadowStyle.Color = Color.FromArgb(30, 0, 0, 0); m_FloatBar.Values.ValueFormatter = new NNumericValueFormatter("0.00"); m_FloatBar.EndValues.ValueFormatter = new NNumericValueFormatter("0.00"); // show the begin end values in the legend m_FloatBar.Legend.Format = "<begin> - <end>"; m_FloatBar.Legend.Mode = SeriesLegendMode.DataPoints; m_PrintManager = new NPrintManager(nChartControl1.Document); GenerateData(); }
private void GanntConnectLinesStrokeButton_Click(object sender, EventArgs e) { NFloatBarSeries floatBar = (NFloatBarSeries)nChartControl1.Charts[0].Series[0]; NStrokeStyle strokeStyleResult; if (NStrokeStyleTypeEditor.Edit(floatBar.GanttConnectorLineStrokeStyle, out strokeStyleResult)) { floatBar.GanttConnectorLineStrokeStyle = strokeStyleResult; nChartControl1.Refresh(); } }
private void BarShapeCombo_SelectedIndexChanged(object sender, System.EventArgs e) { NFloatBarSeries floatbar = (NFloatBarSeries)nChartControl1.Charts[0].Series[0]; NBarSeries bar1 = (NBarSeries)nChartControl1.Charts[0].Series[1]; NBarSeries bar2 = (NBarSeries)nChartControl1.Charts[0].Series[2]; BarShape selectedShape = (BarShape)BarShapeCombo.SelectedIndex; floatbar.BarShape = selectedShape; bar1.BarShape = selectedShape; bar2.BarShape = selectedShape; nChartControl1.Refresh(); }
private void GenerateXData() { NFloatBarSeries floatbar = (NFloatBarSeries)nChartControl1.Charts[0].Series[0]; floatbar.XValues.Clear(); // generate X values DateTime dt = new DateTime(2007, 5, 24, 11, 0, 0); for (int i = 0; i < dataPointCount; i++) { dt = dt.AddHours(12 + Random.NextDouble() * 60); floatbar.XValues.Add(dt); } }
private void GeneratePosNegData() { NFloatBarSeries floatbar = (NFloatBarSeries)nChartControl1.Charts[0].Series[0]; NBarSeries bar1 = (NBarSeries)nChartControl1.Charts[0].Series[1]; NBarSeries bar2 = (NBarSeries)nChartControl1.Charts[0].Series[2]; floatbar.BeginValues.Clear(); floatbar.EndValues.Clear(); bar1.Values.Clear(); bar2.Values.Clear(); for (int i = 0; i < dataPointCount; i++) { floatbar.BeginValues.Add(GetRandValue(-10, 10)); floatbar.EndValues.Add(SetRandSign(GetRandValue(10, 20))); bar1.Values.Add(SetRandSign(GetRandValue(5, 10))); bar2.Values.Add(SetRandSign(GetRandValue(5, 10))); } }
private void GeneratePosData() { NFloatBarSeries floatbar = (NFloatBarSeries)nChartControl1.Charts[0].Series[0]; NBarSeries bar1 = (NBarSeries)nChartControl1.Charts[0].Series[1]; NBarSeries bar2 = (NBarSeries)nChartControl1.Charts[0].Series[2]; floatbar.BeginValues.Clear(); floatbar.EndValues.Clear(); bar1.Values.Clear(); bar2.Values.Clear(); for (int i = 0; i < dataPointCount; i++) { floatbar.BeginValues.Add(GetRandValue(1, 4)); floatbar.EndValues.Add(GetRandValue(6, 9)); bar1.Values.Add(GetRandValue(3, 7)); bar2.Values.Add(GetRandValue(3, 7)); } }
private void InitChart() { NChart chart = nChartControl1.Charts[0]; chart.Axis(StandardAxis.Depth).Visible = false; nChartControl1.Controller.Selection.Add(chart); nChartControl1.Controller.Tools.Add(new NTrackballTool()); // set a chart title NLabel title = nChartControl1.Labels.AddHeader("Custom Printing"); title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic); title.ContentAlignment = ContentAlignment.BottomCenter; title.Location = new NPointL(new NLength(50, NRelativeUnit.ParentPercentage), new NLength(2, NRelativeUnit.ParentPercentage)); // setup the bar series NBarSeries bar = (NBarSeries)chart.Series.Add(SeriesType.Bar); bar.Name = "Bar series"; bar.FillStyle = new NColorFillStyle(Color.Green); bar.DataLabelStyle.Visible = false; bar.Values.FillRandomRange(Random, 8, 7, 15); // setup the floatbar series NFloatBarSeries floatbar = (NFloatBarSeries)chart.Series.Add(SeriesType.FloatBar); floatbar.MultiFloatBarMode = MultiFloatBarMode.Clustered; floatbar.Name = "Floatbar series"; floatbar.FillStyle = new NColorFillStyle(Color.SandyBrown); floatbar.DataLabelStyle.Visible = false; floatbar.AddDataPoint(new NFloatBarDataPoint(3.1, 5.2)); floatbar.AddDataPoint(new NFloatBarDataPoint(4.0, 6.1)); floatbar.AddDataPoint(new NFloatBarDataPoint(2.0, 6.4)); floatbar.AddDataPoint(new NFloatBarDataPoint(5.3, 7.3)); floatbar.AddDataPoint(new NFloatBarDataPoint(3.8, 8.4)); floatbar.AddDataPoint(new NFloatBarDataPoint(4.0, 7.7)); floatbar.AddDataPoint(new NFloatBarDataPoint(2.9, 4.1)); floatbar.AddDataPoint(new NFloatBarDataPoint(5.0, 7.2)); }
private void SeriesTypeCombo_SelectedIndexChanged(object sender, System.EventArgs e) { if (nChartControl1 == null) { return; } NChart chart = nChartControl1.Charts[0]; NSeries series = null; chart.Series.Clear(); switch (SeriesTypeCombo.SelectedIndex) { case 0: series = (NSeries)chart.Series.Add(SeriesType.FloatBar); NFloatBarSeries bar = (NFloatBarSeries)series; GenerateData(bar.Values, bar.EndValues, 10, 3); break; case 1: series = (NSeries)chart.Series.Add(SeriesType.HighLow); NHighLowSeries highLow = (NHighLowSeries)series; GenerateData(highLow.HighValues, highLow.LowValues, 10, 3); break; } series.Values.ValueFormatter = new NNumericValueFormatter("0.00"); series.Legend.Mode = SeriesLegendMode.DataPoints; nChartControl1.Refresh(); ValueModeCombo.SelectedIndex = 0; AppearanceModeCombo.SelectedIndex = 0; MarkerModeCombo.SelectedIndex = 0; ShowLabelsCheck.Checked = false; CustomValue.Text = "0"; }
public override void Initialize() { base.Initialize(); // set a chart title NLabel title = nChartControl1.Labels.AddHeader("3D Floating Bars"); title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic); // no legend nChartControl1.Legends.Clear(); // configure the chart NChart chart = nChartControl1.Charts[0]; chart.Enable3D = true; chart.Axis(StandardAxis.Depth).Visible = false; chart.Projection.SetPredefinedProjection(PredefinedProjection.Perspective1); chart.LightModel.SetPredefinedLightModel(PredefinedLightModel.SoftTopLeft); // setup X axis NOrdinalScaleConfigurator scaleX = chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator as NOrdinalScaleConfigurator; scaleX.AutoLabels = false; scaleX.MajorTickMode = MajorTickMode.AutoMaxCount; scaleX.DisplayDataPointsBetweenTicks = false; for (int i = 0; i < monthLetters.Length; i++) { scaleX.CustomLabels.Add(new NCustomValueLabel(i, monthLetters[i])); } // add interlaced stripe to the Y axis NLinearScaleConfigurator linearScale = (NLinearScaleConfigurator)chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator; NScaleStripStyle stripStyle = new NScaleStripStyle(new NColorFillStyle(Color.Beige), null, true, 0, 0, 1, 1); stripStyle.ShowAtWalls = new ChartWallType[] { ChartWallType.Back, ChartWallType.Left }; stripStyle.Interlaced = true; linearScale.StripStyles.Add(stripStyle); // create the float bar series NFloatBarSeries floatBar = (NFloatBarSeries)chart.Series.Add(SeriesType.FloatBar); floatBar.DataLabelStyle.Visible = false; floatBar.DataLabelStyle.VertAlign = VertAlign.Center; floatBar.DataLabelStyle.Format = "<begin> - <end>"; // add bars floatBar.AddDataPoint(new NFloatBarDataPoint(2, 10)); floatBar.AddDataPoint(new NFloatBarDataPoint(5, 16)); floatBar.AddDataPoint(new NFloatBarDataPoint(9, 17)); floatBar.AddDataPoint(new NFloatBarDataPoint(12, 21)); floatBar.AddDataPoint(new NFloatBarDataPoint(8, 18)); floatBar.AddDataPoint(new NFloatBarDataPoint(7, 18)); floatBar.AddDataPoint(new NFloatBarDataPoint(3, 11)); floatBar.AddDataPoint(new NFloatBarDataPoint(5, 12)); floatBar.AddDataPoint(new NFloatBarDataPoint(8, 17)); floatBar.AddDataPoint(new NFloatBarDataPoint(6, 15)); floatBar.AddDataPoint(new NFloatBarDataPoint(3, 10)); floatBar.AddDataPoint(new NFloatBarDataPoint(1, 7)); // apply layout ConfigureStandardLayout(chart, title, null); // apply style sheet NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.Fresh); styleSheet.Apply(nChartControl1.Document); // init form controls BarShapeCombo.FillFromEnum(typeof(BarShape)); BarShapeCombo.SelectedIndex = 0; }
private void ChartTypeComboBox_SelectedIndexChanged(object sender, EventArgs e) { NChart chart = nChartControl1.Charts[0]; chart.Series.Clear(); const int numDataPoints = 50; switch (ChartTypeComboBox.SelectedIndex) { case 0: // Area { NAreaSeries area = new NAreaSeries(); area.DataLabelStyle.Visible = false; area.VerticalAxisRangeMode = AxisRangeMode.ViewRange; GenerateData(area, 100.0, numDataPoints, new NRange1DD(60, 140)); chart.Series.Add(area); chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = new NValueTimelineScaleConfigurator(); } break; case 1: // Bar { NBarSeries bar = new NBarSeries(); bar.DataLabelStyle.Visible = false; bar.VerticalAxisRangeMode = AxisRangeMode.ViewRange; GenerateData(bar, 100.0, numDataPoints, new NRange1DD(60, 140)); chart.Series.Add(bar); chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = new NValueTimelineScaleConfigurator(); } break; case 2: // Box And Whiskers { NBoxAndWhiskersSeries boxAndWhiskers = new NBoxAndWhiskersSeries(); boxAndWhiskers.VerticalAxisRangeMode = AxisRangeMode.ViewRange; for (int i = 0; i < 40; i++) { double boxLower = 1000 + Random.NextDouble() * 200; double boxUpper = boxLower + 200 + Random.NextDouble() * 200; double whiskersLower = boxLower - (20 + Random.NextDouble() * 300); double whiskersUpper = boxUpper + (20 + Random.NextDouble() * 300); double IQR = (boxUpper - boxLower); double median = boxLower + IQR * 0.25 + Random.NextDouble() * IQR * 0.5; double average = boxLower + IQR * 0.25 + Random.NextDouble() * IQR * 0.5; boxAndWhiskers.UpperBoxValues.Add(boxUpper); boxAndWhiskers.LowerBoxValues.Add(boxLower); boxAndWhiskers.UpperWhiskerValues.Add(whiskersUpper); boxAndWhiskers.LowerWhiskerValues.Add(whiskersLower); boxAndWhiskers.MedianValues.Add(median); boxAndWhiskers.AverageValues.Add(average); int outliersCount = Random.Next(5); NDoubleList outliers = new NDoubleList(); for (int k = 0; k < outliersCount; k++) { double dOutlier = 0; if (Random.NextDouble() > 0.5) { dOutlier = boxUpper + IQR * 1.5 + Random.NextDouble() * 100; } else { dOutlier = boxLower - IQR * 1.5 - Random.NextDouble() * 100; } outliers.Add(dOutlier); } boxAndWhiskers.OutlierValues.Add(outliers); } chart.Series.Add(boxAndWhiskers); chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = new NLinearScaleConfigurator(); } break; case 3: // Error Bar { NErrorBarSeries errorBar = new NErrorBarSeries(); errorBar.VerticalAxisRangeMode = AxisRangeMode.ViewRange; double y; double x = 50.0; for (int i = 0; i < 50; i++) { y = 20 + Random.NextDouble() * 30; x += 2.0 + Random.NextDouble() * 2; errorBar.Values.Add(y); errorBar.LowerErrorsY.Add(1 + Random.NextDouble()); errorBar.UpperErrorsY.Add(1 + Random.NextDouble()); errorBar.XValues.Add(x); errorBar.LowerErrorsX.Add(1 + Random.NextDouble()); errorBar.UpperErrorsX.Add(1 + Random.NextDouble()); } chart.Series.Add(errorBar); chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = new NLinearScaleConfigurator(); } break; case 4: // "Float Bar"); { NFloatBarSeries floatBar = new NFloatBarSeries(); floatBar.VerticalAxisRangeMode = AxisRangeMode.ViewRange; // generate Y values for (int i = 0; i < 100; i++) { double dBeginValue = Random.NextDouble() * 5; double dEndValue = dBeginValue + 2 + Random.NextDouble(); floatBar.Values.Add(dBeginValue); floatBar.EndValues.Add(dEndValue); } // generate X values DateTime dt = new DateTime(2007, 5, 24, 11, 0, 0); for (int i = 0; i < 100; i++) { dt = dt.AddHours(12 + Random.NextDouble() * 60); floatBar.XValues.Add(dt); } chart.Series.Add(floatBar); chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = new NValueTimelineScaleConfigurator(); } break; case 5: // Line { NLineSeries line = new NLineSeries(); line.DataLabelStyle.Visible = false; line.VerticalAxisRangeMode = AxisRangeMode.ViewRange; GenerateData(line, 100.0, numDataPoints, new NRange1DD(60, 140)); chart.Series.Add(line); chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = new NValueTimelineScaleConfigurator(); } break; case 6: // Point { NPointSeries point = new NPointSeries(); point.DataLabelStyle.Visible = false; point.VerticalAxisRangeMode = AxisRangeMode.ViewRange; point.Size = new NLength(5); GenerateData(point, 100.0, numDataPoints, new NRange1DD(60, 140)); chart.Series.Add(point); chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = new NLinearScaleConfigurator(); } break; case 7: // Stock { // setup stock series NStockSeries stock = (NStockSeries)chart.Series.Add(SeriesType.Stock); stock.DataLabelStyle.Visible = false; stock.UpFillStyle = new NColorFillStyle(Color.White); stock.UpStrokeStyle.Color = Color.Black; stock.DownFillStyle = new NColorFillStyle(Color.Crimson); stock.DownStrokeStyle.Color = Color.Crimson; stock.HighLowStrokeStyle.Color = Color.Black; stock.CandleWidth = new NLength(1.2f, NRelativeUnit.ParentPercentage); stock.UseXValues = true; stock.InflateMargins = true; stock.VerticalAxisRangeMode = AxisRangeMode.ViewRange; // add some stock items GenerateOHLCData(stock, 100.0, numDataPoints, new NRange1DD(60, 140)); FillStockDates(stock, numDataPoints); chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = new NValueTimelineScaleConfigurator(); } break; } nChartControl1.Refresh(); }
protected void Page_Load(object sender, System.EventArgs e) { nChartControl1.BackgroundStyle.FrameStyle.Visible = false; nChartControl1.Settings.JitterMode = JitterMode.Enabled; // set a chart title NLabel title = nChartControl1.Labels.AddHeader("Clustered Float Bar"); title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 14, FontStyle.Italic); title.TextStyle.ShadowStyle.Type = ShadowType.LinearBlur; // configure the chart NChart chart = nChartControl1.Charts[0]; chart.Enable3D = true; chart.Axis(StandardAxis.Depth).Visible = false; chart.Projection.SetPredefinedProjection(PredefinedProjection.Perspective1); chart.LightModel.SetPredefinedLightModel(PredefinedLightModel.GlitterLeft); // setup X axis NOrdinalScaleConfigurator scaleX = (NOrdinalScaleConfigurator)chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator; scaleX.MajorTickMode = MajorTickMode.AutoMaxCount; // add interlace stripe NLinearScaleConfigurator scaleY = (NLinearScaleConfigurator)chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator; NScaleStripStyle stripStyle = new NScaleStripStyle(new NColorFillStyle(Color.Beige), null, true, 0, 0, 1, 1); stripStyle.Interlaced = true; stripStyle.ShowAtWalls = new ChartWallType[] { ChartWallType.Back, ChartWallType.Left }; scaleY.StripStyles.Add(stripStyle); // setup the bar series NBarSeries bar = (NBarSeries)chart.Series.Add(SeriesType.Bar); bar.Name = "Bar"; bar.DataLabelStyle.Visible = false; bar.Values.FillRandomRange(Random, 8, 7, 15); // setup the floatbar series NFloatBarSeries floatbar = (NFloatBarSeries)chart.Series.Add(SeriesType.FloatBar); floatbar.MultiFloatBarMode = MultiFloatBarMode.Clustered; floatbar.Name = "Floatbar"; floatbar.DataLabelStyle.Visible = false; floatbar.AddDataPoint(new NFloatBarDataPoint(3.1, 5.2)); floatbar.AddDataPoint(new NFloatBarDataPoint(4.0, 6.1)); floatbar.AddDataPoint(new NFloatBarDataPoint(2.0, 6.4)); floatbar.AddDataPoint(new NFloatBarDataPoint(5.3, 7.3)); floatbar.AddDataPoint(new NFloatBarDataPoint(3.8, 8.4)); floatbar.AddDataPoint(new NFloatBarDataPoint(4.0, 7.7)); floatbar.AddDataPoint(new NFloatBarDataPoint(2.9, 4.1)); floatbar.AddDataPoint(new NFloatBarDataPoint(5.0, 7.2)); // apply style sheet NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.Fresh); styleSheet.Apply(nChartControl1.Document); // apply layout ApplyLayoutTemplate(0, nChartControl1, chart, title, nChartControl1.Legends[0]); }
/// <summary> /// Called to initialize the example /// </summary> /// <param name="chartControl"></param> public override void Create() { // set a chart title NLabel title = new NLabel("Gantt"); title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, System.Drawing.FontStyle.Italic); // no legend nChartControl1.Legends.Clear(); // configure the chart NChart chart = nChartControl1.Charts[0]; chart.BoundsMode = BoundsMode.Stretch; chart.Projection.ViewerRotation = 270; chart.Axis(StandardAxis.Depth).Visible = false; // setup the value axis NDateTimeScaleConfigurator dateTimeScale = new NDateTimeScaleConfigurator(); dateTimeScale.LabelValueFormatter = new NDateTimeValueFormatter(DateTimeValueFormat.Date); dateTimeScale.MajorGridStyle.ShowAtWalls = new ChartWallType[] { ChartWallType.Back }; // add interlaced stripe NScaleStripStyle stripStyle = new NScaleStripStyle(new NColorFillStyle(Color.Beige), null, true, 0, 0, 1, 1); stripStyle.ShowAtWalls = new ChartWallType[] { ChartWallType.Back }; stripStyle.Interlaced = true; dateTimeScale.StripStyles.Add(stripStyle); chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator = dateTimeScale; chart.Axis(StandardAxis.PrimaryY).Anchor = new NDockAxisAnchor(AxisDockZone.FrontRight, true, 0, 100); // label the X axis NOrdinalScaleConfigurator ordinalScale = chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator as NOrdinalScaleConfigurator; ordinalScale.AutoLabels = false; ordinalScale.Labels.Add("Market Research"); ordinalScale.Labels.Add("Specifications"); ordinalScale.Labels.Add("Architecture"); ordinalScale.Labels.Add("Project Planning"); ordinalScale.Labels.Add("Detailed Design"); ordinalScale.Labels.Add("Development"); ordinalScale.Labels.Add("Test Plan"); ordinalScale.Labels.Add("Testing and QA"); ordinalScale.Labels.Add("Documentation"); // create a floatbar series NFloatBarSeries floatBar = (NFloatBarSeries)chart.Series.Add(SeriesType.FloatBar); floatBar.BeginValues.ValueFormatter = new NDateTimeValueFormatter(DateTimeValueFormat.Date); floatBar.EndValues.ValueFormatter = new NDateTimeValueFormatter(DateTimeValueFormat.Date); floatBar.DataLabelStyle.Visible = false; AddDataPoint(floatBar, new DateTime(2009, 2, 2), new DateTime(2009, 2, 16)); AddDataPoint(floatBar, new DateTime(2009, 2, 16), new DateTime(2009, 3, 2)); AddDataPoint(floatBar, new DateTime(2009, 3, 2), new DateTime(2009, 3, 16)); AddDataPoint(floatBar, new DateTime(2009, 3, 9), new DateTime(2009, 3, 23)); AddDataPoint(floatBar, new DateTime(2009, 3, 16), new DateTime(2009, 3, 30)); AddDataPoint(floatBar, new DateTime(2009, 3, 23), new DateTime(2009, 4, 27)); AddDataPoint(floatBar, new DateTime(2009, 4, 13), new DateTime(2009, 4, 27)); AddDataPoint(floatBar, new DateTime(2009, 4, 20), new DateTime(2009, 5, 4)); AddDataPoint(floatBar, new DateTime(2009, 4, 27), new DateTime(2009, 5, 4)); // apply layout ConfigureStandardLayout(chart, title, null); // apply style sheet NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.FreshMultiColor); styleSheet.Apply(nChartControl1.Document); }
private void AddDataPoint(NFloatBarSeries floatBar, DateTime dtBegin, DateTime dtEnd) { floatBar.BeginValues.Add(dtBegin.ToOADate()); floatBar.EndValues.Add(dtEnd.ToOADate()); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { WebExamplesUtilities.FillComboWithPercents(WidthPercentDropDownList, 10); WidthPercentDropDownList.SelectedIndex = 7; } nChartControl1.BackgroundStyle.FrameStyle.Visible = false; // set a chart title NLabel title = nChartControl1.Labels.AddHeader("Gantt"); title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 14, FontStyle.Italic); title.TextStyle.ShadowStyle.Type = ShadowType.LinearBlur; // setup legend NLegend legend = nChartControl1.Legends[0]; legend.HorizontalBorderStyle.Width = new NLength(0, NGraphicsUnit.Pixel); legend.VerticalBorderStyle.Width = new NLength(0, NGraphicsUnit.Pixel); // configure the chart NChart chart = nChartControl1.Charts[0]; chart.BoundsMode = BoundsMode.Stretch; chart.Projection.ViewerRotation = 270; // setup the value axis NDateTimeScaleConfigurator dateTimeScale = new NDateTimeScaleConfigurator(); dateTimeScale.EnableUnitSensitiveFormatting = false; dateTimeScale.LabelValueFormatter = new NDateTimeValueFormatter("d MMM"); dateTimeScale.MajorTickMode = MajorTickMode.CustomStep; dateTimeScale.CustomStep = new NDateTimeSpan(1, NDateTimeUnit.Week); dateTimeScale.LabelStyle.TextStyle.FontStyle.EmSize = new NLength(8); dateTimeScale.LabelStyle.Angle = new NScaleLabelAngle(90); dateTimeScale.MajorGridStyle.ShowAtWalls = new ChartWallType[] { ChartWallType.Back }; // add interlaced stripe NScaleStripStyle stripStyle = new NScaleStripStyle(new NColorFillStyle(Color.Beige), null, true, 0, 0, 1, 1); stripStyle.ShowAtWalls = new ChartWallType[] { ChartWallType.Back }; stripStyle.Interlaced = true; dateTimeScale.StripStyles.Add(stripStyle); chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator = dateTimeScale; chart.Axis(StandardAxis.PrimaryY).Anchor = new NDockAxisAnchor(AxisDockZone.FrontRight, true, 0, 100); // label the X axis NOrdinalScaleConfigurator ordinalScale = chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator as NOrdinalScaleConfigurator; ordinalScale.MajorGridStyle.ShowAtWalls = new ChartWallType[] { ChartWallType.Back }; ordinalScale.LabelStyle.TextStyle.FontStyle.EmSize = new NLength(8); ordinalScale.MajorTickMode = MajorTickMode.AutoMaxCount; ordinalScale.AutoLabels = false; ordinalScale.Labels.Add("Market Research"); ordinalScale.Labels.Add("Specifications"); ordinalScale.Labels.Add("Architecture"); ordinalScale.Labels.Add("Project Planning"); ordinalScale.Labels.Add("Detailed Design"); ordinalScale.Labels.Add("Development"); ordinalScale.Labels.Add("Test Plan"); ordinalScale.Labels.Add("Testing and QA"); ordinalScale.Labels.Add("Documentation"); // create a floatbar series NFloatBarSeries floatBar = (NFloatBarSeries)chart.Series.Add(SeriesType.FloatBar); floatBar.BeginValues.ValueFormatter = new NDateTimeValueFormatter(DateTimeValueFormat.Date); floatBar.EndValues.ValueFormatter = new NDateTimeValueFormatter(DateTimeValueFormat.Date); floatBar.DataLabelStyle.Visible = false; AddDataPoint(floatBar, new DateTime(2009, 2, 2), new DateTime(2009, 2, 16)); AddDataPoint(floatBar, new DateTime(2009, 2, 16), new DateTime(2009, 3, 2)); AddDataPoint(floatBar, new DateTime(2009, 3, 2), new DateTime(2009, 3, 16)); AddDataPoint(floatBar, new DateTime(2009, 3, 9), new DateTime(2009, 3, 23)); AddDataPoint(floatBar, new DateTime(2009, 3, 16), new DateTime(2009, 3, 30)); AddDataPoint(floatBar, new DateTime(2009, 3, 23), new DateTime(2009, 4, 27)); AddDataPoint(floatBar, new DateTime(2009, 4, 13), new DateTime(2009, 4, 27)); AddDataPoint(floatBar, new DateTime(2009, 4, 20), new DateTime(2009, 5, 4)); AddDataPoint(floatBar, new DateTime(2009, 4, 27), new DateTime(2009, 5, 4)); floatBar.WidthPercent = WidthPercentDropDownList.SelectedIndex * 10; // apply style sheet NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.FreshMultiColor); styleSheet.Apply(nChartControl1.Document); // apply layout ApplyLayoutTemplate(0, nChartControl1, chart, title, null); }
public override void Initialize() { base.Initialize(); // set a chart title NLabel title = new NLabel("DateTime Float Bar"); title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic); // setup chart NChart chart = nChartControl1.Charts[0]; chart.BoundsMode = BoundsMode.Stretch; // setup Y axis NLinearScaleConfigurator linearScale = new NLinearScaleConfigurator(); linearScale.MajorGridStyle.LineStyle.Pattern = LinePattern.Dot; linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Back, true); linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Left, true); // add interlaced stripe NScaleStripStyle stripStyle = new NScaleStripStyle(new NColorFillStyle(Color.Beige), null, true, 0, 0, 1, 1); stripStyle.SetShowAtWall(ChartWallType.Back, true); stripStyle.SetShowAtWall(ChartWallType.Left, true); stripStyle.Interlaced = true; linearScale.StripStyles.Add(stripStyle); chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator = linearScale; // setup x axis NDateTimeScaleConfigurator dateTimeScale = new NDateTimeScaleConfigurator(); dateTimeScale.LabelValueFormatter = new NDateTimeValueFormatter(DateTimeValueFormat.Date); chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = dateTimeScale; // create the float bar series NFloatBarSeries floatBar = new NFloatBarSeries(); chart.Series.Add(floatBar); floatBar.UseXValues = true; floatBar.UseZValues = false; floatBar.InflateMargins = true; floatBar.DataLabelStyle.Visible = false; // bar appearance floatBar.BorderStyle.Color = Color.Bisque; floatBar.ShadowStyle.Type = ShadowType.Solid; floatBar.ShadowStyle.Color = Color.FromArgb(30, 0, 0, 0); floatBar.Values.ValueFormatter = new NNumericValueFormatter("0.00"); floatBar.EndValues.ValueFormatter = new NNumericValueFormatter("0.00"); // show the begin end values in the legend floatBar.Legend.Format = "<begin> - <end>"; floatBar.Legend.Mode = SeriesLegendMode.DataPoints; GenerateData(floatBar); // apply layout ConfigureStandardLayout(chart, title, nChartControl1.Legends[0]); // apply style sheet NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.FreshMultiColor); styleSheet.Apply(nChartControl1.Document); }
public override void Initialize() { base.Initialize(); // set a chart title NLabel title = new NLabel("Cluster Float Bar"); title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic); // configure the chart NChart chart = nChartControl1.Charts[0]; chart.Enable3D = true; chart.Width = 65; chart.Height = 40; chart.Axis(StandardAxis.Depth).Visible = false; chart.Projection.SetPredefinedProjection(PredefinedProjection.Perspective1); chart.LightModel.SetPredefinedLightModel(PredefinedLightModel.GlitterLeft); // add interlaced stripe to the Y axis NLinearScaleConfigurator scaleY = new NLinearScaleConfigurator(); NScaleStripStyle stripStyle = new NScaleStripStyle(new NColorFillStyle(Color.Beige), null, true, 0, 0, 1, 1); stripStyle.SetShowAtWall(ChartWallType.Back, true); stripStyle.SetShowAtWall(ChartWallType.Left, true); stripStyle.Interlaced = true; scaleY.StripStyles.Add(stripStyle); chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator = scaleY; // setup the bar series NBarSeries bar = (NBarSeries)chart.Series.Add(SeriesType.Bar); bar.Name = "Bar series"; bar.DataLabelStyle.Visible = false; bar.Values.FillRandomRange(Random, 8, 7, 15); // setup the floatbar series NFloatBarSeries floatbar = (NFloatBarSeries)chart.Series.Add(SeriesType.FloatBar); floatbar.MultiFloatBarMode = MultiFloatBarMode.Clustered; floatbar.Name = "Floatbar series"; floatbar.DataLabelStyle.Visible = false; floatbar.AddDataPoint(new NFloatBarDataPoint(3.1, 5.2)); floatbar.AddDataPoint(new NFloatBarDataPoint(4.0, 6.1)); floatbar.AddDataPoint(new NFloatBarDataPoint(2.0, 6.4)); floatbar.AddDataPoint(new NFloatBarDataPoint(5.3, 7.3)); floatbar.AddDataPoint(new NFloatBarDataPoint(3.8, 8.4)); floatbar.AddDataPoint(new NFloatBarDataPoint(4.0, 7.7)); floatbar.AddDataPoint(new NFloatBarDataPoint(2.9, 4.1)); floatbar.AddDataPoint(new NFloatBarDataPoint(5.0, 7.2)); // init form controls BarGapScroll.Value = (int)bar.GapPercent; BarWidthScroll.Value = (int)bar.WidthPercent; BarDepthScroll.Value = (int)bar.DepthPercent; FloatbarGapScroll.Value = (int)floatbar.GapPercent; FloatbarDepthScroll.Value = (int)floatbar.DepthPercent; // apply layout ConfigureStandardLayout(chart, title, nChartControl1.Legends[0]); // apply style sheet NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.Fresh); styleSheet.Apply(nChartControl1.Document); }
public override void Initialize() { base.Initialize(); // set a chart title NLabel title = new NLabel("Date Time Stack Float Bar"); title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic); // setup chart NChart chart = nChartControl1.Charts[0]; chart.BoundsMode = BoundsMode.Stretch; // add interlaced stripe NLinearScaleConfigurator linearScale = new NLinearScaleConfigurator(); NScaleStripStyle stripStyle = new NScaleStripStyle(new NColorFillStyle(Color.Beige), null, true, 0, 0, 1, 1); stripStyle.SetShowAtWall(ChartWallType.Back, true); stripStyle.SetShowAtWall(ChartWallType.Left, true); stripStyle.Interlaced = true; linearScale.StripStyles.Add(stripStyle); chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator = linearScale; NDateTimeScaleConfigurator dateTimeScale = new NDateTimeScaleConfigurator(); dateTimeScale.LabelValueFormatter = new NDateTimeValueFormatter(DateTimeValueFormat.Date); chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = dateTimeScale; // setup the floatbar series NFloatBarSeries floatbar = (NFloatBarSeries)chart.Series.Add(SeriesType.FloatBar); floatbar.MultiFloatBarMode = MultiFloatBarMode.Series; floatbar.Name = "Floatbar series"; floatbar.DataLabelStyle.Visible = false; floatbar.UseXValues = true; floatbar.InflateMargins = true; // setup the bar series NBarSeries bar1 = (NBarSeries)chart.Series.Add(SeriesType.Bar); bar1.Name = "Bar series"; bar1.MultiBarMode = MultiBarMode.Stacked; bar1.DataLabelStyle.Visible = false; // setup the bar series NBarSeries bar2 = (NBarSeries)chart.Series.Add(SeriesType.Bar); bar2.Name = "Bar series"; bar2.MultiBarMode = MultiBarMode.Stacked; bar2.DataLabelStyle.Visible = false; GeneratePosData(); GenerateXData(); // apply layout ConfigureStandardLayout(chart, title, nChartControl1.Legends[0]); // apply style sheet NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.Fresh); styleSheet.Apply(nChartControl1.Document); // init form controls BarShapeCombo.FillFromEnum(typeof(BarShape)); BarShapeCombo.SelectedIndex = 0; }
public override void Initialize() { base.Initialize(); // set a chart title NLabel title = new NLabel("Stack Float Bar"); title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic); // configure the chart NChart chart = nChartControl1.Charts[0]; chart.Enable3D = true; chart.Width = 65; chart.Height = 40; chart.Axis(StandardAxis.Depth).Visible = false; chart.Projection.SetPredefinedProjection(PredefinedProjection.Perspective1); chart.LightModel.SetPredefinedLightModel(PredefinedLightModel.GlitterLeft); // add interlaced stripe to the Y axis NLinearScaleConfigurator scaleY = chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator as NLinearScaleConfigurator; NScaleStripStyle stripStyle = new NScaleStripStyle(new NColorFillStyle(Color.Beige), null, true, 0, 0, 1, 1); stripStyle.ShowAtWalls = new ChartWallType[] { ChartWallType.Back, ChartWallType.Left }; stripStyle.Interlaced = true; scaleY.StripStyles.Add(stripStyle); // setup the floatbar series NFloatBarSeries floatbar = (NFloatBarSeries)chart.Series.Add(SeriesType.FloatBar); floatbar.MultiFloatBarMode = MultiFloatBarMode.Series; floatbar.Name = "Floatbar series"; floatbar.FillStyle = new NColorFillStyle(Color.SandyBrown); floatbar.DataLabelStyle.Visible = false; // setup the bar series NBarSeries bar1 = (NBarSeries)chart.Series.Add(SeriesType.Bar); bar1.Name = "Bar series"; bar1.MultiBarMode = MultiBarMode.Stacked; bar1.FillStyle = new NColorFillStyle(Color.Green); bar1.DataLabelStyle.Visible = false; // setup the bar series NBarSeries bar2 = (NBarSeries)chart.Series.Add(SeriesType.Bar); bar2.Name = "Bar series"; bar2.MultiBarMode = MultiBarMode.Stacked; bar2.FillStyle = new NColorFillStyle(Color.CornflowerBlue); bar2.DataLabelStyle.Visible = false; GeneratePosData(); // apply layout ConfigureStandardLayout(chart, title, nChartControl1.Legends[0]); // init form controls BarShapeCombo.FillFromEnum(typeof(BarShape)); BarShapeCombo.SelectedIndex = 0; // apply style sheet NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.Fresh); styleSheet.Apply(nChartControl1.Document); }
protected void Page_Load(object sender, EventArgs e) { nChartControl1.BackgroundStyle.FrameStyle.Visible = false; nChartControl1.Settings.JitterMode = JitterMode.Enabled; // set a chart title NLabel title = nChartControl1.Labels.AddHeader("Float Bar Connector Lines"); title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 14, FontStyle.Italic); title.TextStyle.ShadowStyle.Type = ShadowType.LinearBlur; // no legend nChartControl1.Legends.Clear(); // configure the chart NCartesianChart chart = (NCartesianChart)nChartControl1.Charts[0]; chart.BoundsMode = BoundsMode.Stretch; chart.SetPredefinedChartStyle(PredefinedChartStyle.HorizontalLeft); chart.Axis(StandardAxis.Depth).Visible = false; // setup the value axis NRangeTimelineScaleConfigurator dateTimeScale = new NRangeTimelineScaleConfigurator(); dateTimeScale.MajorGridStyle.ShowAtWalls = new ChartWallType[] { ChartWallType.Back }; // add interlaced stripe NScaleStripStyle stripStyle = new NScaleStripStyle(new NColorFillStyle(Color.Beige), null, true, 0, 0, 1, 1); stripStyle.ShowAtWalls = new ChartWallType[] { ChartWallType.Back }; stripStyle.Interlaced = true; dateTimeScale.StripStyles.Add(stripStyle); chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator = dateTimeScale; chart.Axis(StandardAxis.PrimaryY).Anchor = new NDockAxisAnchor(AxisDockZone.FrontRight, true, 0, 100); // fill data DateTime start = DateTime.Now; DateTime end = start + new TimeSpan(10, 0, 0, 0); TaskCollection tasks = new TaskCollection(); tasks.Add(new Task("Write Proposal", new DateTime(2001, 4, 1), new DateTime(2001, 4, 5), new uint[] { 1, 2 })); tasks.Add(new Task("Obtain Approval", new DateTime(2001, 4, 12), new DateTime(2001, 9, 4), new uint[] { 9 })); tasks.Add(new Task("Requirements Analysis", new DateTime(2001, 4, 9), new DateTime(2001, 5, 5), new uint[] { 3 })); tasks.Add(new Task("Design Phase", new DateTime(2001, 5, 6), new DateTime(2001, 5, 30), new uint[] { 4 })); tasks.Add(new Task("Design Signoff", new DateTime(2001, 6, 2), new DateTime(2001, 6, 2), new uint[] { 5 })); tasks.Add(new Task("Alpha Implementation", new DateTime(2001, 6, 3), new DateTime(2001, 7, 31), new uint[] { 6 })); tasks.Add(new Task("Design Review", new DateTime(2001, 8, 1), new DateTime(2001, 8, 8), new uint[] { 7 })); tasks.Add(new Task("Revised Design Signoff", new DateTime(2001, 8, 10), new DateTime(2001, 8, 10), new uint[] { 8 })); tasks.Add(new Task("Beta Implementation", new DateTime(2001, 8, 12), new DateTime(2001, 9, 12), new uint[] { 9 })); tasks.Add(new Task("Testing", new DateTime(2001, 9, 13), new DateTime(2001, 10, 31), new uint[] { 10 })); tasks.Add(new Task("Final Implementation", new DateTime(2001, 11, 1), new DateTime(2001, 11, 15), new uint[] { 11 })); tasks.Add(new Task("Signoff", new DateTime(2001, 11, 28), new DateTime(2001, 11, 30), new uint[] { 12 })); tasks.ConfigureChart(chart); // apply style sheet NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.Fresh); styleSheet.Apply(nChartControl1.Document); // apply layout ApplyLayoutTemplate(0, nChartControl1, chart, title, null); NFloatBarSeries floatBar = (NFloatBarSeries)nChartControl1.Charts[0].Series[0]; floatBar.ShowGanttConnectorLines = ShowGanttConnectorLinesCheckBox.Checked; }