示例#1
0
        private void ChimneyFillStyleButton_Click(object sender, System.EventArgs e)
        {
            NShapeSeries shape = (NShapeSeries)m_Chart.Series[4];
            NFillStyle   fillStyleResult;

            if (NFillStyleTypeEditor.Edit(shape.FillStyle, out fillStyleResult))
            {
                shape.FillStyle = fillStyleResult;
                nChartControl1.Refresh();
            }
        }
        void InitializeChartData(NCartesianChart chart, NCustomToolsData.NPopulationData data, bool invert, Color color)
        {
            chart.BoundsMode = BoundsMode.Stretch;

            NLinearScaleConfigurator scaleX = new NLinearScaleConfigurator();

            chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = scaleX;
            scaleX.Invert              = invert;
            scaleX.AutoLabels          = false;
            scaleX.CustomLabelFitModes = new LabelFitMode[] { LabelFitMode.AutoScale };
            scaleX.MajorTickMode       = MajorTickMode.CustomTicks;

            NLinearScaleConfigurator scaleY = chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator as NLinearScaleConfigurator;

            scaleY.LabelValueFormatter = new NNumericValueFormatter("0,,M");

            // add the shape chart
            NShapeSeries shape1 = new NShapeSeries();

            chart.Series.Add(shape1);

            shape1.FillStyle = new NColorFillStyle(color);
            shape1.DataLabelStyle.Visible = false;
            shape1.UseXValues             = true;
            shape1.XSizesUnits            = MeasurementUnits.Scale;
            shape1.YSizesUnits            = MeasurementUnits.Scale;

            int nRowCount = data.Rows.Count;

            for (int i = 0; i < nRowCount; i++)
            {
                NCustomToolsData.NPopulationDataEntry en = data.Rows[i];

                double value = en.Value;
                double begin = en.AgeRange.Start;
                double end   = en.AgeRange.End + 1;

                shape1.XValues.Add((begin + end) / 2);
                shape1.XSizes.Add(Math.Abs(begin - end));

                shape1.Values.Add(value / 2);
                shape1.YSizes.Add(value);

                shape1.ZSizes.Add(0);
                shape1.InteractivityStyles.Add(i, new NInteractivityStyle(true, string.Format("{0}:{1}", data.Id, i), null, CursorType.Hand));
            }
        }
示例#3
0
        private void CreateBoxes(NChart chart)
        {
            NShapeSeries shape = new NShapeSeries();

            chart.Series.Add(shape);
            shape.DataLabelStyle.Visible = false;
            shape.InflateMargins         = true;
            shape.Shape       = BarShape.Bar;
            shape.UseXValues  = true;
            shape.UseZValues  = true;
            shape.XSizesUnits = MeasurementUnits.Model;
            shape.YSizesUnits = MeasurementUnits.Model;
            shape.ZSizesUnits = MeasurementUnits.Model;

            Color color = Color.FromArgb(147, 120, 197);

            shape.FillStyle         = new NColorFillStyle(color);
            shape.BorderStyle.Color = color;

            shape.Values.Add(440);
            shape.XValues.Add(20);
            shape.ZValues.Add(25);
            shape.XSizes.Add(4);
            shape.YSizes.Add(4);
            shape.ZSizes.Add(4);

            shape.Values.Add(480);
            shape.XValues.Add(14);
            shape.ZValues.Add(25);
            shape.XSizes.Add(3);
            shape.YSizes.Add(3);
            shape.ZSizes.Add(3);

            shape.Values.Add(500);
            shape.XValues.Add(8);
            shape.ZValues.Add(25);
            shape.XSizes.Add(2);
            shape.YSizes.Add(2);
            shape.ZSizes.Add(2);
        }
示例#4
0
        private void CreateSpheres(NChart chart)
        {
            NShapeSeries shape = new NShapeSeries();

            chart.Series.Add(shape);
            shape.DataLabelStyle.Visible = false;
            shape.InflateMargins         = true;
            shape.Shape       = BarShape.Ellipsoid;
            shape.UseXValues  = true;
            shape.UseZValues  = true;
            shape.XSizesUnits = MeasurementUnits.Model;
            shape.YSizesUnits = MeasurementUnits.Model;
            shape.ZSizesUnits = MeasurementUnits.Model;
            shape.FillStyle   = new NColorFillStyle(Color.FromArgb(202, 100, 92));
            shape.BorderStyle = new NStrokeStyle(0, Color.White);

            shape.Values.Add(200);
            shape.XValues.Add(10);
            shape.ZValues.Add(10);
            shape.XSizes.Add(8);
            shape.YSizes.Add(8);
            shape.ZSizes.Add(8);
        }
示例#5
0
        public override void Initialize()
        {
            base.Initialize();

            // set a chart title
            NLabel title = new NLabel("XY Bars");

            title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic);
            title.TextStyle.FillStyle = new NColorFillStyle(GreyBlue);

            // configure the chart
            m_Chart          = nChartControl1.Charts[0];
            m_Chart.Enable3D = true;
            m_Chart.Projection.SetPredefinedProjection(PredefinedProjection.OrthogonalHalf);
            m_Chart.LightModel.SetPredefinedLightModel(PredefinedLightModel.GlitterLeft);
            m_Chart.Axis(StandardAxis.Depth).Visible = false;

            // switch the categories axis in numeric mode
            m_Chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = new NLinearScaleConfigurator();

            // 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);

            m_Chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator = linearScale;

            // create the shape series
            m_Shape = (NShapeSeries)m_Chart.Series.Add(SeriesType.Shape);

            // show information about the data points in the legend
            m_Shape.Legend.Mode = SeriesLegendMode.DataPoints;

            // show the Y size and label in the legend
            m_Shape.Legend.Format = "<ysize> <label>";

            // show the Y size and label in the data point labels
            m_Shape.DataLabelStyle.Format = "<ysize> <label>";

            // use custom X positions
            m_Shape.UseXValues = true;

            // X sizes are specified in Model units (the default is Scale)
            // this will make the bars size independant from the scale of the X axis
            m_Shape.XSizesUnits = MeasurementUnits.Model;

            // this will require to set the InflateMargins flag to true since in this mode
            // scale is determined only by the X positions of the shape and will not take
            // into account the size of the bars.
            m_Shape.InflateMargins = true;

            // position all shapes at the series Z order
            m_Shape.UseZValues = false;

            // add the bars
            // add Bar1
            m_Shape.AddDataPoint(new NShapeDataPoint(
                                     10,     // Y center of bar -> half its Y size
                                     12,     // X position
                                     0,      // Z position - not used since UseZValue is set to false
                                     10,     // X size - 10 model units
                                     20,     // Y size of bar
                                     0.66,   // Z size - 2 thirds of series depth
                                     "Bar1", // label
                                     new NColorFillStyle(Color.LightGreen)
                                     ));

            // add Bar2
            m_Shape.AddDataPoint(new NShapeDataPoint(
                                     20,     // Y center of bar -> half its Y size
                                     34,     // X position - not used since UseXValue is set to false
                                     0,      // Z position - not used since UseZValue is set to false
                                     10,     // X size - 10 model units
                                     40,     // Y size of bar
                                     0.33,   // Z size - 1 third of series depth
                                     "Bar2", // label
                                     new NColorFillStyle(Color.LightCoral)
                                     ));

            // add Bar3
            m_Shape.AddDataPoint(new NShapeDataPoint(
                                     15,     // Y center of bar -> half its Y size
                                     50,     // X position - not used since UseXValue is set to false
                                     0,      // Z position - not used since UseZValue is set to false
                                     10,     // X size - 10 model units
                                     30,     // Y size of bar
                                     0.5,    // Z size - half series depth
                                     "Bar3", // label
                                     new NColorFillStyle(Color.LightSalmon)
                                     ));

            // apply layout
            ConfigureStandardLayout(m_Chart, title, nChartControl1.Legends[0]);

            // apply style sheet
            NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.FreshMultiColor);

            styleSheet.Apply(nChartControl1.Document);

            // init form controls
            InflateMarginsCheckBox.Checked = true;
            AxesRoundToTickCheck.Checked   = true;
            StyleCombo.SelectedIndex       = 0;
        }
示例#6
0
        public override void Initialize()
        {
            base.Initialize();

            nChartControl1.Controller.Tools.Add(new NPanelSelectorTool());
            nChartControl1.Controller.Tools.Add(new NTrackballTool());

            // set a chart title
            NLabel title = nChartControl1.Labels.AddHeader("Shape Series used to display a house");

            title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic);
            title.TextStyle.FillStyle = new NColorFillStyle(GreyBlue);

            // setup chart
            m_Chart                      = nChartControl1.Charts[0];
            m_Chart.Enable3D             = true;
            m_Chart.Depth                = 55.0f;
            m_Chart.Width                = 55.0f;
            m_Chart.Height               = 55.0f;
            m_Chart.Projection.Type      = ProjectionType.Perspective;
            m_Chart.Projection.Rotation  = -19.0f;
            m_Chart.Projection.Elevation = 20.0f;

            // configure axes
            NLinearScaleConfigurator linearScale = new NLinearScaleConfigurator();

            m_Chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = linearScale;
            linearScale.MajorTickMode = MajorTickMode.AutoMaxCount;
            linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Back, true);
            linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Floor, true);

            linearScale = new NLinearScaleConfigurator();
            m_Chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator = linearScale;
            linearScale.MajorTickMode = MajorTickMode.AutoMaxCount;
            linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Back, true);
            linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Left, true);

            linearScale = new NLinearScaleConfigurator();
            m_Chart.Axis(StandardAxis.Depth).ScaleConfigurator = linearScale;
            linearScale.MajorTickMode = MajorTickMode.AutoMaxCount;
            linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Floor, true);
            linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Left, true);

            NLegend legend = (NLegend)nChartControl1.Legends[0];

            legend.Data.MarkSize = new NSizeL(20, 20);

            // create the door
            NShapeSeries shape = (NShapeSeries)m_Chart.Series.Add(SeriesType.Shape);

            shape.Name = "door";
            shape.DataLabelStyle.Visible = false;
            shape.UseXValues             = true;
            shape.UseZValues             = true;
            shape.Shape = BarShape.Bar;
            shape.AddDataPoint(new NShapeDataPoint(-0.5, -0.25, -1.0, 0.5, 1.5, 0.02));

            NImageFillStyle doorFS = new NImageFillStyle(NResourceHelper.BitmapFromResource(this.GetType(), "Door.jpg", "Nevron.Examples.Chart.WinForm.Resources"));

            shape.FillStyle = doorFS;

            // create the window
            shape      = (NShapeSeries)m_Chart.Series.Add(SeriesType.Shape);
            shape.Name = "window";
            shape.DataLabelStyle.Visible = false;
            shape.UseXValues             = true;
            shape.UseZValues             = true;
            shape.Shape = BarShape.Bar;
            shape.AddDataPoint(new NShapeDataPoint(0.4, 0.0, -1.0, 0.75, 1.0, 0.02));

            NImageFillStyle windowFS = new NImageFillStyle(NResourceHelper.BitmapFromResource(this.GetType(), "Window.jpg", "Nevron.Examples.Chart.WinForm.Resources"));

            shape.FillStyle = windowFS;

            // create the house
            shape      = (NShapeSeries)m_Chart.Series.Add(SeriesType.Shape);
            shape.Name = "house";
            shape.DataLabelStyle.Visible = false;
            shape.UseXValues             = true;
            shape.UseZValues             = true;
            shape.Shape = BarShape.Bar;
            shape.AddDataPoint(new NShapeDataPoint(0.0, 0.0, 0.0, 2.0, 2.0, 2.0));
            shape.FillStyle = new NColorFillStyle(Color.White);

            NImageFillStyle houseFS = new NImageFillStyle(NResourceHelper.BitmapFromResource(this.GetType(), "Cobblestone.jpg", "Nevron.Examples.Chart.WinForm.Resources"));

            houseFS.TextureMappingStyle.MapLayout       = MapLayout.Tiled;
            houseFS.TextureMappingStyle.HorizontalScale = 0.1f;
            houseFS.TextureMappingStyle.VerticalScale   = 0.1f;

            shape.FillStyle = houseFS;

            // create the roof
            shape      = (NShapeSeries)m_Chart.Series.Add(SeriesType.Shape);
            shape.Name = "roof";
            shape.DataLabelStyle.Visible = false;
            shape.UseXValues             = true;
            shape.UseZValues             = true;
            shape.Shape = BarShape.Pyramid;
            shape.AddDataPoint(new NShapeDataPoint(0.0, 1.5, 0.0, 2.4, 1.0, 2.4));

            NImageFillStyle roofFS = new NImageFillStyle(NResourceHelper.BitmapFromResource(this.GetType(), "Rooftile.jpg", "Nevron.Examples.Chart.WinForm.Resources"));

            roofFS.TextureMappingStyle.MapLayout       = MapLayout.Tiled;
            roofFS.TextureMappingStyle.HorizontalScale = 0.2f;
            roofFS.TextureMappingStyle.VerticalScale   = 0.2f;

            shape.FillStyle = roofFS;

            // create the chimney
            shape      = (NShapeSeries)m_Chart.Series.Add(SeriesType.Shape);
            shape.Name = "chimney";
            shape.DataLabelStyle.Visible = false;
            shape.UseXValues             = true;
            shape.UseZValues             = true;
            shape.Shape = BarShape.Cylinder;
            shape.AddDataPoint(new NShapeDataPoint(0.75, 1.5, 0.0, 0.2, 1.0, 0.2));

            NImageFillStyle chimneyFS = new NImageFillStyle(NResourceHelper.BitmapFromResource(this.GetType(), "Bricks.jpg", "Nevron.Examples.Chart.WinForm.Resources"));

            chimneyFS.TextureMappingStyle.MapLayout       = MapLayout.Tiled;
            chimneyFS.TextureMappingStyle.HorizontalScale = 0.1f;
            chimneyFS.TextureMappingStyle.VerticalScale   = 0.1f;

            shape.FillStyle = chimneyFS;

            // apply layout
            ConfigureStandardLayout(m_Chart, title, nChartControl1.Legends[0]);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                WebExamplesUtilities.FillComboWithEnumValues(ShapeStyleDropDownList, typeof(BarShape));
                ShapeStyleDropDownList.SelectedIndex = 0;

                WebExamplesUtilities.FillComboWithColorNames(ShapesColorDropDownList, KnownColor.DarkOrange);

                WebExamplesUtilities.FillComboWithPredefinedProjections(ProjectionDropDownList);
                ProjectionDropDownList.SelectedIndex = (int)PredefinedProjection.PerspectiveTilted;
            }

            nChartControl1.BackgroundStyle.FrameStyle.Visible = false;

            // set a chart title
            NLabel title = nChartControl1.Labels.AddHeader("Shape Series");

            title.TextStyle.FontStyle        = new NFontStyle("Times New Roman", 14, FontStyle.Italic);
            title.TextStyle.ShadowStyle.Type = ShadowType.LinearBlur;

            // no legend
            nChartControl1.Legends.Clear();

            // setup chart
            NChart chart = nChartControl1.Charts[0];

            chart.Enable3D = true;
            chart.Depth    = 50;
            chart.Projection.SetPredefinedProjection((PredefinedProjection)ProjectionDropDownList.SelectedIndex);
            chart.LightModel.SetPredefinedLightModel(PredefinedLightModel.GlitterLeft);

            // setup X axis
            NLinearScaleConfigurator scaleX = new NLinearScaleConfigurator();

            chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = scaleX;
            scaleX.MajorGridStyle.ShowAtWalls       = new ChartWallType[] { ChartWallType.Back, ChartWallType.Floor };
            scaleX.MajorGridStyle.LineStyle.Pattern = LinePattern.Dot;

            // setup Y axis
            NLinearScaleConfigurator scaleY = new NLinearScaleConfigurator();

            chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator = scaleY;
            scaleY.MajorGridStyle.ShowAtWalls       = new ChartWallType[] { ChartWallType.Back, ChartWallType.Left };
            scaleY.MajorGridStyle.LineStyle.Pattern = LinePattern.Dot;

            // add interlaced stripe
            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 Z axis
            NLinearScaleConfigurator scaleZ = new NLinearScaleConfigurator();

            chart.Axis(StandardAxis.Depth).ScaleConfigurator = scaleZ;
            scaleZ.MajorGridStyle.ShowAtWalls       = new ChartWallType[] { ChartWallType.Left, ChartWallType.Floor };
            scaleZ.MajorGridStyle.LineStyle.Pattern = LinePattern.Dot;

            // setup shape series
            NShapeSeries shape = (NShapeSeries)chart.Series.Add(SeriesType.Shape);

            shape.Name = "Shape Series";
            shape.DataLabelStyle.Visible = false;

            // populate with random data
            shape.Values.FillRandomRange(Random, 10, -100, 100);
            shape.XValues.FillRandomRange(Random, 10, -100, 100);
            shape.ZValues.FillRandomRange(Random, 10, -100, 100);
            shape.YSizes.FillRandomRange(Random, 10, 5, 20);
            shape.XSizes.FillRandomRange(Random, 10, 5, 20);
            shape.ZSizes.FillRandomRange(Random, 10, 5, 20);

            shape.Shape     = (BarShape)ShapeStyleDropDownList.SelectedIndex;
            shape.FillStyle = new NColorFillStyle(WebExamplesUtilities.ColorFromDropDownList(ShapesColorDropDownList));

            shape.UseXValues = UseXValueCheckBox.Checked;
            shape.UseZValues = UseZValueCheckBox.Checked;

            if (DifferentColorsCheckBox.Checked)
            {
                ShapesColorDropDownList.Enabled = false;

                NChartPalette palette = new NChartPalette();
                palette.SetPredefinedPalette(ChartPredefinedPalette.Nevron);

                for (int i = 0; i < shape.Values.Count; i++)
                {
                    shape.FillStyles[i] = new NColorFillStyle(palette.SeriesColors[i % palette.SeriesColors.Count]);
                }
            }
            else
            {
                ShapesColorDropDownList.Enabled = true;
                shape.FillStyles.Clear();
                shape.FillStyle = new NColorFillStyle(WebExamplesUtilities.ColorFromDropDownList(ShapesColorDropDownList));
            }

            // apply layout
            ApplyLayoutTemplate(0, nChartControl1, chart, title, null);
        }
示例#8
0
        public override void Initialize()
        {
            base.Initialize();

            nChartControl1.Controller.Tools.Add(new NPanelSelectorTool());
            nChartControl1.Controller.Tools.Add(new NTrackballTool());

            // set a chart title
            NLabel title = nChartControl1.Labels.AddHeader("XYZ Scatter Bubbles");

            title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic);
            title.TextStyle.FillStyle = new NColorFillStyle(GreyBlue);

            // chart settings
            m_Chart          = nChartControl1.Charts[0];
            m_Chart.Enable3D = true;
            m_Chart.Projection.SetPredefinedProjection(PredefinedProjection.PerspectiveTilted);
            m_Chart.Projection.Elevation -= 10;
            m_Chart.LightModel.SetPredefinedLightModel(PredefinedLightModel.GlitterLeft);
            m_Chart.Depth  = 55.0f;
            m_Chart.Width  = 55.0f;
            m_Chart.Height = 55.0f;

            // switch the PrimaryX and Depth axes in numeric mode in order to correctly scale the custom X and Z positions
            NLinearScaleConfigurator linearScale = new NLinearScaleConfigurator();

            m_Chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = linearScale;
            linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Back, true);
            linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Floor, true);
            linearScale.MajorGridStyle.LineStyle.Pattern = LinePattern.Dot;

            linearScale = new NLinearScaleConfigurator();
            m_Chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator = linearScale;
            linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Back, true);
            linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Left, true);
            linearScale.MajorGridStyle.LineStyle.Pattern = LinePattern.Dot;

            // 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);

            linearScale = new NLinearScaleConfigurator();
            m_Chart.Axis(StandardAxis.Depth).ScaleConfigurator = linearScale;
            linearScale.MajorGridStyle.LineStyle.Pattern       = LinePattern.Dot;
            linearScale.MajorGridStyle.LineStyle.Pattern       = LinePattern.Dot;
            linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Floor, true);
            linearScale.MajorGridStyle.SetShowAtWall(ChartWallType.Left, true);

            // create the shape series
            m_Shape = (NShapeSeries)m_Chart.Series.Add(SeriesType.Shape);
            m_Shape.DataLabelStyle.Visible = false;
            m_Shape.DataLabelStyle.Format  = "<ysize> <label>";

            // show information about the data points in the legend
            m_Shape.Legend.Mode = SeriesLegendMode.DataPoints;

            // show the Y size and label in the legend
            m_Shape.Legend.Format = "<ysize> <label>";

            // use custom X positions
            m_Shape.UseXValues = true;

            // use custom Z positions
            m_Shape.UseZValues = true;

            // X sizes are specified in Model units (the default is Scale)
            // they will not depend on the X axis scale
            m_Shape.XSizesUnits = MeasurementUnits.Model;

            // Z sizes are specified in Model units (the default is Scale)
            // they will not depend on the Z axis scale
            m_Shape.ZSizesUnits = MeasurementUnits.Model;

            // Y sizes are specified in Model units (the default is Scale)
            // they will not depend on the Y axis scale
            m_Shape.YSizesUnits = MeasurementUnits.Model;

            // this will require to set the InflateMargins flag to true since in this mode
            // scale is determined only by the X positions of the shape and will not take
            // into account the size of the bubbles.
            m_Shape.InflateMargins = true;

            // add the bubbles
            m_Shape.AddDataPoint(new NShapeDataPoint(10, 12, 56, 24, 24, 24, "bubble1"));
            m_Shape.AddDataPoint(new NShapeDataPoint(20, 14, 12, 10, 10, 10, "bubble2"));
            m_Shape.AddDataPoint(new NShapeDataPoint(15, 50, 45, 19, 19, 19, "bubble3"));

            // apply layout
            ConfigureStandardLayout(m_Chart, title, nChartControl1.Legends[0]);

            // apply style sheet
            NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.FreshMultiColor);

            styleSheet.Apply(nChartControl1.Document);

            // init form controls
            AxesRoundToTickCheck.Checked   = true;
            InflateMarginsCheckBox.Checked = true;
            StyleCombo.SelectedIndex       = 6;
        }
示例#9
0
        public override void Initialize()
        {
            base.Initialize();

            nChartControl1.Controller.Tools.Add(new NPanelSelectorTool());
            nChartControl1.Controller.Tools.Add(new NTrackballTool());

            // set a chart title
            NLabel title = nChartControl1.Labels.AddHeader("Shape Series");

            title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic);

            // no legend
            nChartControl1.Legends.Clear();

            // setup chart
            m_Chart          = nChartControl1.Charts[0];
            m_Chart.Enable3D = true;
            m_Chart.Projection.SetPredefinedProjection(PredefinedProjection.PerspectiveTilted);
            m_Chart.Projection.Elevation -= 10;
            m_Chart.LightModel.SetPredefinedLightModel(PredefinedLightModel.GlitterLeft);
            m_Chart.Depth  = 55.0f;
            m_Chart.Width  = 55.0f;
            m_Chart.Height = 55.0f;

            // setup X axis
            NLinearScaleConfigurator scaleX = new NLinearScaleConfigurator();

            m_Chart.Axis(StandardAxis.PrimaryX).ScaleConfigurator = scaleX;
            scaleX.MajorGridStyle.ShowAtWalls       = new ChartWallType[] { ChartWallType.Back, ChartWallType.Floor };
            scaleX.MajorGridStyle.LineStyle.Pattern = LinePattern.Dot;

            // setup Y axis
            NLinearScaleConfigurator scaleY = new NLinearScaleConfigurator();

            m_Chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator = scaleY;
            scaleY.MajorGridStyle.ShowAtWalls       = new ChartWallType[] { ChartWallType.Back, ChartWallType.Left };
            scaleY.MajorGridStyle.LineStyle.Pattern = LinePattern.Dot;

            // add interlaced stripe
            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 Z axis
            NLinearScaleConfigurator scaleZ = new NLinearScaleConfigurator();

            m_Chart.Axis(StandardAxis.Depth).ScaleConfigurator = scaleZ;
            scaleZ.MajorGridStyle.ShowAtWalls       = new ChartWallType[] { ChartWallType.Left, ChartWallType.Floor };
            scaleZ.MajorGridStyle.LineStyle.Pattern = LinePattern.Dot;

            // setup shape series
            m_Shape                        = (NShapeSeries)m_Chart.Series.Add(SeriesType.Shape);
            m_Shape.FillStyle              = new NColorFillStyle(Color.Red);
            m_Shape.BorderStyle.Color      = Color.DarkRed;
            m_Shape.DataLabelStyle.Visible = false;
            m_Shape.UseXValues             = true;
            m_Shape.UseZValues             = true;

            // populate with random data
            m_Shape.Values.FillRandomRange(Random, 10, -100, 100);
            m_Shape.XValues.FillRandomRange(Random, 10, -100, 100);
            m_Shape.ZValues.FillRandomRange(Random, 10, -100, 100);

            m_Shape.YSizes.FillRandomRange(Random, 10, 5, 20);
            m_Shape.XSizes.FillRandomRange(Random, 10, 5, 20);
            m_Shape.ZSizes.FillRandomRange(Random, 10, 5, 20);

            // apply layout
            ConfigureStandardLayout(m_Chart, title, null);

            // init form controls
            ShapeCombo.SelectedIndex     = 0;
            UseXValuesCheck.Checked      = true;
            UseZValuesCheck.Checked      = true;
            DifferentColorsCheck.Checked = true;
        }
示例#10
0
        public override void Initialize()
        {
            base.Initialize();

            // set a chart title
            NLabel title = nChartControl1.Labels.AddHeader("Bars with different X and Z sizes");

            title.TextStyle.FontStyle = new NFontStyle("Times New Roman", 18, FontStyle.Italic);
            title.TextStyle.FillStyle = new NColorFillStyle(GreyBlue);

            // configure the chart
            m_Chart          = nChartControl1.Charts[0];
            m_Chart.Enable3D = true;
            m_Chart.Axis(StandardAxis.Depth).Visible = false;
            m_Chart.Projection.SetPredefinedProjection(PredefinedProjection.Perspective1);
            m_Chart.LightModel.SetPredefinedLightModel(PredefinedLightModel.GlitterLeft);

            // 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);
            m_Chart.Axis(StandardAxis.PrimaryY).ScaleConfigurator = linearScale;

            // create the shape series
            m_Shape = (NShapeSeries)m_Chart.Series.Add(SeriesType.Shape);

            // show information about the data points in the legend
            m_Shape.Legend.Mode = SeriesLegendMode.DataPoints;

            // show the Y size and label in the legend
            m_Shape.Legend.Format = "<ysize> <label>";

            // show the Y size and label in the data point labels
            m_Shape.DataLabelStyle.Format = "<ysize> <label>";

            // use default category positions
            m_Shape.UseXValues = false;
            m_Shape.UseZValues = false;

            // add the bars
            // add Bar1
            m_Shape.AddDataPoint(new NShapeDataPoint(
                                     10,    // Y center of bar -> half its Y size
                                     0,     // X position - not used since UseXValue is set to false
                                     0,     // Z position - not used since UseZValue is set to false
                                     0.5,   // X size - half category in width
                                     20,    // Y size of bar
                                     0.66,  // Z size - 2 thirds of series depth
                                     "Bar1" // label
                                     ));

            // add Bar2
            m_Shape.AddDataPoint(new NShapeDataPoint(
                                     20,    // Y center of bar -> half its Y size
                                     0,     // X position - not used since UseXValue is set to false
                                     0,     // Z position - not used since UseZValue is set to false
                                     0.33,  // X size - approximately 1 third of category width
                                     40,    // Y size of bar
                                     0.33,  // Z size - 1 third of series depth
                                     "Bar2" // label
                                     ));

            // add Bar3
            m_Shape.AddDataPoint(new NShapeDataPoint(
                                     15,    // Y center of bar -> half its Y size
                                     0,     // X position - not used since UseXValue is set to false
                                     0,     // Z position - not used since UseZValue is set to false
                                     0.5,   // X size - half category width
                                     30,    // Y size of bar
                                     0.5,   // Z size - half series depth
                                     "Bar3" // label)
                                     ));

            // apply layout
            ConfigureStandardLayout(m_Chart, title, nChartControl1.Legends[0]);

            // apply style sheet
            NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.FreshMultiColor);

            styleSheet.Apply(nChartControl1.Document);

            // init form controls
            StyleCombo.FillFromEnum(typeof(BarShape));
            StyleCombo.SelectedIndex = 0;
        }