Exemple #1
0
 private void ZoomChartLabel(ZoomFontInfo infos, Chart3DLabel label)
 {
     if (label == null)
     {
         return;
     }
     ZoomStyle(infos, label.Style);
 }
Exemple #2
0
 private void ZoomChartLabel(ZoomBoundsInfo infos, Chart3DLabel label)
 {
     if (label == null)
     {
         return;
     }
     if (label.AttachMethodData.X > 0 || label.AttachMethodData.Y > 0)
     {
         float x = label.AttachMethodData.X;
         float y = label.AttachMethodData.Y;
         x = x > 0 ? infos.Zoom(x) : x;
         y = y > 0 ? infos.Zoom(y) : y;
         label.AttachMethodData.X = x;
         label.AttachMethodData.Y = y;
     }
     if (label.SizeDefault.Width > 0 || label.SizeDefault.Height > 0)
     {
         label.SizeDefault = ZoomSize(infos, label.SizeDefault);
     }
 }
Exemple #3
0
        void createTestData()
        {
            int   i, j;
            float x, y;

            // init point dataset
            setPoint = new Chart3DDataSetPoint();

            for (int ix = 0; ix < 3; ix++)
            {
                for (int iy = 0; iy < 3; iy++)
                {
                    for (int iz = 0; iz < 3; iz++)
                    {
                        pointData[ix + 3 * iy + 9 * iz].X = ix;
                        pointData[ix + 3 * iy + 9 * iz].Y = iy;
                        pointData[ix + 3 * iy + 9 * iz].Z = iz;

                        pointData1[ix + 3 * iy + 9 * iz].X = 3 + 2 * ix;
                        pointData1[ix + 3 * iy + 9 * iz].Y = 2 * iy;
                        pointData1[ix + 3 * iy + 9 * iz].Z = 2 * iz;
                    }
                }
            }

            setPoint.AddSeries(pointData);
            setPoint.AddSeries(pointData1);

            //float[,] gridData = new float[ 11, 11];
            float[,] gridData = (float[, ])Array.CreateInstance(typeof(float), 11, 11);
            for (i = 0; i < gridData.GetLength(0); i++)
            {
                for (j = 0; j < gridData.GetLength(1); j++)
                {
                    x = -5 + i;
                    y = -5 + j;
                    gridData[i, j] = 0.1f * x * x - 0.4f * y * y;
                }
            }

            setGrid = new Chart3DDataSetGrid(-5, -5, 1, 1, gridData);

            // contour data for 4d chart
            contourData = (double[, ])Array.CreateInstance(typeof(double), setGrid.ColumnCount, setGrid.RowCount);
            for (i = 0; i < setGrid.ColumnCount; i++)
            {
                for (j = 0; j < setGrid.RowCount; j++)
                {
                    contourData[i, j] = i + j;
                }
            }

            // init irregular grid dataset
            float[] xdata = { 1, 2, 6, 8, 9, 13, 15 };
            float[] ydata = { 1, 2, 4, 8, 11, 12, 15 };
            float[,] vals = (float[, ])Array.CreateInstance(typeof(float), xdata.Length, ydata.Length);

            setIrGrid = new Chart3DDataSetIrGrid(xdata, ydata, vals);

            {
                x = (float)setIrGrid.ColumnOrigin;
                for (i = 0; i < setIrGrid.ColumnCount; i++)
                {
                    x += (float)setIrGrid.ColumnDeltaArray[i];
                    y  = (float)setIrGrid.RowOrigin;
                    for (j = 0; j < setIrGrid.RowCount; j++)
                    {
                        y += (float)setIrGrid.RowDeltaArray[j];
                        float val = 0.1f * x * x - 0.4f * y * y;
                        setIrGrid.SetValue(i, j, val);
                    }
                }
            }
            // starting dataset
            c1Chart3D1.ChartGroups[0].ChartData.Set = setGrid;

            // adding labels to chart
            Chart3DLabel labelC = c1Chart3D1.ChartLabels.LabelsCollection.AddNewLabel();

            labelC.Text               = "Label(Coordinate)";
            labelC.LabelCompass       = LabelCompassEnum.SouthEast;
            labelC.AttachMethodData.X = 20;
            labelC.AttachMethodData.Y = 20;
            labelC.Visible            = true;

            Chart3DLabel labelD = c1Chart3D1.ChartLabels.LabelsCollection.AddNewLabel();

            labelD.Text               = "Label(DataCoordinate)";
            labelD.LabelCompass       = LabelCompassEnum.SouthEast;
            labelD.Offset             = 50;
            labelD.Connected          = true;
            labelD.AttachMethod       = AttachMethodEnum.DataCoordinate;
            labelD.AttachMethodData.X = 0;
            labelD.AttachMethodData.Y = 0;
            labelD.AttachMethodData.Z = 0;
            labelD.Visible            = true;

            Chart3DLabel labelI = c1Chart3D1.ChartLabels.LabelsCollection.AddNewLabel();

            labelI.Text         = "Label(DataIndex)";
            labelI.LabelCompass = LabelCompassEnum.SouthWest;
            labelI.Offset       = 25;
            labelI.Connected    = true;
            labelI.AttachMethod = AttachMethodEnum.DataIndex;
            labelI.AttachMethodData.SeriesIndex = 2;
            labelI.AttachMethodData.PointIndex  = 4;
            labelI.Visible = true;

            // adding data labels
            c1Chart3D1.DefaultLabelStyle.BackColor          = Color.MistyRose;
            c1Chart3D1.DefaultLabelStyle.Border.BorderStyle = BorderStyleEnum.Solid;
            for (i = 0; i < setGrid.RowCount; i++)
            {
                Chart3DDataLabel lab = c1Chart3D1.ChartGroups.RowLabels.AddNewLabel();
                lab.Index = i;
                lab.Text  = "Row " + i.ToString();
            }
            for (j = 0; j < setGrid.ColumnCount; j++)
            {
                Chart3DDataLabel lab = c1Chart3D1.ChartGroups.ColumnLabels.AddNewLabel();
                lab.Index = j;
                lab.Text  = "Col " + j.ToString();
            }

            // adding labels to axis
            foreach (Chart3DAxis axis in c1Chart3D1.ChartArea.Axes)
            {
                Chart3DAxisLabel alab1 = axis.ValueLabels.AddNewLabel();
                alab1.Value = -1;
                alab1.Text  = "minus one";

                Chart3DAxisLabel alab2 = axis.ValueLabels.AddNewLabel();
                alab2.Value = +1;
                alab2.Text  = "plus one";
            }

            // set bar colors
            c1Chart3D1.ChartGroups[0].Bar.SetBarColor(1, 1, Color.Red);
            c1Chart3D1.ChartGroups[0].Bar.SetBarColor(1, 2, Color.Red);
            c1Chart3D1.ChartGroups[0].Bar.SetBarColor(-1, 3, Color.Blue);
            c1Chart3D1.ChartGroups[0].Bar.SetBarColor(3, -1, Color.Green);
        }