Example 012: Graph showing MultiAxesSubsets 1

PegoGraph Objectintermediate

MultiAxesSubsets 1

Preview

ProEssentials Pego Graph Object - Graph showing MultiAxesSubsets 1
Click to enlarge

Source Code

Form2.cs
1//! Right button click to show popup menu. //
2//! Double Click to show customization dialog. //
3//! Left-Click and drag to draw zoom box. Use popup memu or 'z' to undo zoom. //
4
5// This example builds upon the basic CreateSimpleGraph '000' example chart //
6CreateSimpleGraph(Pego1);
7
8// Now sub-divide subsets into 4 individual axes //
9// Each axis with one subset in each //
10Pego1.PeGrid.MultiAxesSubsets[0] = 1;
11Pego1.PeGrid.MultiAxesSubsets[1] = 1;
12Pego1.PeGrid.MultiAxesSubsets[2] = 1;
13Pego1.PeGrid.MultiAxesSubsets[3] = 1;
14
15// Set first axis parameters //
16Pego1.PeGrid.WorkingAxis = 0;
17Pego1.PeString.YAxisLabel = "Label 1";
18Pego1.PePlot.Method = GraphPlottingMethod.Bar;
19
20// Set second axis parameters //
21Pego1.PeGrid.WorkingAxis = 1;
22Pego1.PeString.YAxisLabel = "Label 2";
23Pego1.PePlot.Method = GraphPlottingMethod.PointsPlusLine;
24
25// Set third axis parameters //
26Pego1.PeGrid.WorkingAxis = 2;
27Pego1.PeString.YAxisLabel = "Label 3";
28Pego1.PePlot.Method = GraphPlottingMethod.Bar;
29
30// Set fourth axis parameters //
31Pego1.PeGrid.WorkingAxis = 3;
32Pego1.PeString.YAxisLabel = "Label 4";
33Pego1.PePlot.Method = GraphPlottingMethod.PointsPlusLine;
34
35// Reset WorkingAxis when done //
36Pego1.PeGrid.WorkingAxis = 0;
37
38// Add Axis Separator //
39Pego1.PeGrid.Option.MultiAxesSeparators = MultiAxesSeparators.Thin;
40
41// Axis Sizing //
42Pego1.PeUserInterface.Allow.MultiAxesSizing = true;
43
44// Other various properties //
45Pego1.PeColor.BitmapGradientMode = true;
46Pego1.PeColor.QuickStyle = QuickStyle.DarkNoBorder;
47Pego1.PePlot.MarkDataPoints = false;
48
49// Add graph annotations showing how to place annotations per axis // v9.5
50Pego1.PeUserInterface.Menu.AnnotationControl = true;
51Pego1.PePlot.DataShadows = DataShadows.Shadows;
52
53int aCnt = 0;
54for (int annot = 0; annot < 5; annot++)
55{
56 int nRndRow = 0;
57 int nRndCol = (int)(Rand_Num.NextDouble() * (float)Pego1.PeData.Points - 1);
58 Pego1.PeAnnotation.Graph.X[aCnt] = nRndCol + 1;
59 Pego1.PeAnnotation.Graph.Y[aCnt] = Pego1.PeData.Y[nRndRow, nRndCol];
60 Pego1.PeAnnotation.Graph.Type[aCnt] = (int)Gigasoft.ProEssentials.Enums.GraphAnnotationType.Pointer;
61 Pego1.PeAnnotation.Graph.Text[aCnt] = "Axis0 " + annot.ToString();
62 Pego1.PeAnnotation.Graph.Color[aCnt] = Color.FromArgb(255, 255, 255, 255);
63 Pego1.PeAnnotation.Graph.Axis[aCnt] = 0; // ie WorkingAxis index 0-15
64 aCnt++;
65}
66for (int annot = 0; annot < 5; annot++)
67{
68 int nRndRow = 1;
69 int nRndCol = (int)(Rand_Num.NextDouble() * (float)Pego1.PeData.Points - 1);
70 Pego1.PeAnnotation.Graph.X[aCnt] = nRndCol + 1;
71 Pego1.PeAnnotation.Graph.Y[aCnt] = Pego1.PeData.Y[nRndRow, nRndCol];
72 Pego1.PeAnnotation.Graph.Type[aCnt] = (int)Gigasoft.ProEssentials.Enums.GraphAnnotationType.Pointer;
73 Pego1.PeAnnotation.Graph.Text[aCnt] = "Axis1 " + annot.ToString();
74 Pego1.PeAnnotation.Graph.Color[aCnt] = Color.FromArgb(255, 255, 255, 255);
75 Pego1.PeAnnotation.Graph.Axis[aCnt] = 1;
76 aCnt++;
77}
78for (int annot = 0; annot < 5; annot++)
79{
80 int nRndRow = 2;
81 int nRndCol = (int)(Rand_Num.NextDouble() * (float)Pego1.PeData.Points - 1);
82 Pego1.PeAnnotation.Graph.X[aCnt] = nRndCol + 1;
83 Pego1.PeAnnotation.Graph.Y[aCnt] = Pego1.PeData.Y[nRndRow, nRndCol];
84 Pego1.PeAnnotation.Graph.Type[aCnt] = (int)Gigasoft.ProEssentials.Enums.GraphAnnotationType.Pointer;
85 Pego1.PeAnnotation.Graph.Text[aCnt] = "Axis2 " + annot.ToString();
86 Pego1.PeAnnotation.Graph.Color[aCnt] = Color.FromArgb(255, 255, 255, 255);
87 Pego1.PeAnnotation.Graph.Axis[aCnt] = 2;
88 aCnt++;
89}
90for (int annot = 0; annot < 5; annot++)
91{
92 int nRndRow = 3;
93 int nRndCol = (int)(Rand_Num.NextDouble() * (float)Pego1.PeData.Points - 1);
94 Pego1.PeAnnotation.Graph.X[aCnt] = nRndCol + 1;
95 Pego1.PeAnnotation.Graph.Y[aCnt] = Pego1.PeData.Y[nRndRow, nRndCol];
96 Pego1.PeAnnotation.Graph.Type[aCnt] = (int)Gigasoft.ProEssentials.Enums.GraphAnnotationType.Pointer;
97 Pego1.PeAnnotation.Graph.Text[aCnt] = "Axis3 " + annot.ToString();
98 Pego1.PeAnnotation.Graph.Color[aCnt] = Color.FromArgb(255, 255, 255, 255);
99 Pego1.PeAnnotation.Graph.Axis[aCnt] = 3;
100 aCnt++;
101}
102
103Pego1.PeAnnotation.Show = true;
104Pego1.PeFont.GraphAnnotationTextSize = 105;
105Pego1.PeAnnotation.Graph.MinSymbolSize = MinimumPointSize.Large;
106Pego1.PeAnnotation.Graph.MaxSymbolSize = MinimumPointSize.Large;
107
108// Generally call ReinitializeResetImage at end **'
109Pego1.PeFunction.ReinitializeResetImage();
110Pego1.Invalidate();
111// Optionally call Pego1.Refresh() if you are not seeing changes immediately
Tip: Uses property syntax like Pego1.PeData.Y[s, p]Click underlined properties to view documentation