16 Axes
1//! Also added is AxisBackColor, AxisForeColor, and AxisBorderType.2//! Select Graph menu from within the View menu to maximize this example.3 4// Disable Banding //5Pego1.PeGrid.GridBands = false;6 7Pego1.PeConfigure.PrepareImages = true;8 9// Pass Data //10Pego1.PeData.Subsets = 32;11Pego1.PeData.Points = 100;12 13float fRnd;14int s;15int p;16for (s=0; s < 32; s++)17{18 fRnd = (float) (9.0F * Rand_Num.NextDouble()) + 2.0F;19 20 // pass 100 points of subset data //21 for (p = 0; p < 100; p++)22 Pego1.PeData.Y[s, p] = (float) (10.0F + (0.6F * fRnd * System.Math.Sin(fRnd * p)));23 24 // set subsetlabel //25 Pego1.PeString.SubsetLabels[s] = "Sin" + String.Format(".#",fRnd);26}27 28// Set various axis parameters //29int axis;30for (axis = 0; axis < 16; axis++)31{32 Pego1.PeGrid.WorkingAxis = axis;33 Pego1.PeGrid.Option.ShowYAxis = ShowAxis.GridNumbers;34 35 // set y axis label //36 p = axis + 1;37 Pego1.PeString.YAxisLabel = "Axis" + p.ToString();38 39 Pego1.PeGrid.Configure.ManualScaleControlY = ManualScaleControl.MinMax;40 Pego1.PeGrid.Configure.ManualMinY = 0.0F;41 Pego1.PeGrid.Configure.ManualMaxY = 20.0F;42 43 Pego1.PePlot.Method= GraphPlottingMethod.Line;44 Pego1.PePlot.ComparisonSubsets = 1;45 Pego1.PePlot.MethodII = GraphPlottingMethodII.Step;46}47 48// Set various subset parameters //49Color[] dwArray = new Color[2];50dwArray[0] = Color.FromArgb(79, 0, 32, 198);51dwArray[1] = Color.FromArgb(199, 225, 0, 0);52 53int nColorIndex;54nColorIndex = 0;55for (s = 0; s < 32; s++)56{57 Pego1.PePlot.SubsetLineTypes[s] = LineType.ThinSolid;58 Pego1.PeColor.SubsetColors[s] = dwArray[nColorIndex];59 nColorIndex = nColorIndex + 1;60 if (nColorIndex > 1) nColorIndex = 0;61}62 63// Set various point parameters //64for (p = 0; p < 100; p++)65 Pego1.PeString.PointLabels[p] = "Data#" + String.Format("#", p+1);66 67Pego1.PeGrid.ForceVerticalPoints=ForceVerticalPoints.Horizontal;68 69// Various other features //70Pego1.PeFont.Fixed = true;72Pego1.PeFont.SizeGlobalCntl = 0.9F;73 74Pego1.PeColor.BitmapGradientMode = true;75Pego1.PeColor.QuickStyle = QuickStyle.LightNoBorder;76 77Pego1.PeLegend.SimplePoint = true;78Pego1.PeLegend.SimpleLine = true;79Pego1.PeLegend.Style = LegendStyle.OneLineInsideOverlap;80 81// Split up subsets among different axes //82Pego1.PeGrid.MultiAxesSubsets[0] = 2;83Pego1.PeGrid.MultiAxesSubsets[1] = 2;84Pego1.PeGrid.MultiAxesSubsets[2] = 2;85Pego1.PeGrid.MultiAxesSubsets[3] = 2;86Pego1.PeGrid.MultiAxesSubsets[4] = 2;87Pego1.PeGrid.MultiAxesSubsets[5] = 2;88Pego1.PeGrid.MultiAxesSubsets[6] = 2;89Pego1.PeGrid.MultiAxesSubsets[7] = 2;90Pego1.PeGrid.MultiAxesSubsets[8] = 2;91Pego1.PeGrid.MultiAxesSubsets[9] = 2;92Pego1.PeGrid.MultiAxesSubsets[10] = 2;93Pego1.PeGrid.MultiAxesSubsets[11] = 2;94Pego1.PeGrid.MultiAxesSubsets[12] = 2;95Pego1.PeGrid.MultiAxesSubsets[13] = 2;96Pego1.PeGrid.MultiAxesSubsets[14] = 2;97Pego1.PeGrid.MultiAxesSubsets[15] = 2;98 99Pego1.PeGrid.Option.MultiAxisStyle = MultiAxisStyle.SeparateAxes;100Pego1.PeGrid.Option.MultiAxisSeparatorSize = 65;101Pego1.PeUserInterface.Menu.MultiAxisStyle = MenuControl.Show;102 103Pego1.PeString.MainTitle = "16 Axes with axis forecolor backcolor mouse control";104Pego1.PeString.SubTitle = "";105Pego1.PeUserInterface.Allow.FocalRect = false;106Pego1.PeUserInterface.Allow.Zooming = AllowZooming.HorzAndVert;107Pego1.PeUserInterface.Allow.ZoomStyle = ZoomStyle.Ro2Not;108 109Pego1.PePlot.Allow.Step = true;110Pego1.PePlot.DataShadows = DataShadows.None;111 112Pego1.PePlot.Option.GradientBars = 12;113Pego1.PeString.TextShadows = TextShadows.NoShadows;116Pego1.PeFont.Label.Bold = true;117Pego1.PePlot.Option.LineShadows = true;118Pego1.PeUserInterface.Scrollbar.PointsToGraph = 50;119 120Pego1.PeColor.GraphForeground = Color.FromArgb(50, 0, 0, 0);121Pego1.PeGrid.LineControl = GridLineControl.Both;123 124Pego1.PePlot.Option.PointGradientStyle = PlotGradientStyle.VerticalAscentInverse;125Pego1.PeColor.PointBorderColor = Color.FromArgb(100, 0, 0, 0);126Pego1.PePlot.Option.LineSymbolThickness = 3;127Pego1.PePlot.Option.AreaBorder = 1;128 129// Set various export defaults //130Pego1.PeSpecial.DpiX = 600;131Pego1.PeSpecial.DpiY = 600;132 133// default export setting //134Pego1.PeUserInterface.Dialog.ExportSizeDef = ExportSizeDef.NoSizeOrPixel;135Pego1.PeUserInterface.Dialog.ExportTypeDef = ExportTypeDef.Png;136Pego1.PeUserInterface.Dialog.ExportDestDef = ExportDestDef.Clipboard;137Pego1.PeUserInterface.Dialog.ExportUnitXDef = "1280";138Pego1.PeUserInterface.Dialog.ExportUnitYDef = "768";139Pego1.PeUserInterface.Dialog.ExportImageDpi = 300;140 141// v9 features142Pego1.PeUserInterface.Cursor.PromptTracking = true;143Pego1.PeUserInterface.Cursor.PromptLocation = CursorPromptLocation.ToolTip;144Pego1.PeUserInterface.Cursor.PromptStyle = CursorPromptStyle.YValue;145 146Pego1.PeConfigure.RenderEngine = RenderEngine.Direct2D;147 148Pego1.PeFunction.ReinitializeResetImage();149Pego1.Invalidate();150// Optionally call Pego1.Refresh() if you are not seeing changes immediately151 152 /*153 private void Pego1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)154{155 if (Pego1.PeUserInterface.Cursor.ProcessingMouseMove == true)156 return;157 158 // If mouse is inside an axis, change it's back color to WHITE //159 // Determine if mouse is within an axis //160 161 int a;162 int nChangedAxisColor = -1;163 164 // get last mouse location within control //'165 System.Drawing.Point pt = Pego1.PeUserInterface.Cursor.LastMouseMove;166 167 for (a = 0; a < 16; a++)168 {169 // test to see if this is within axis area //'170 Pego1.PeGrid.WorkingAxis = a;171 Rectangle rect = Pego1.PeFunction.GetRectAxis();172 if (rect.Contains(pt))173 {174 if (Pego1.PeColor.AxisBackColor != Color.FromArgb(255, 255, 255, 255))175 {176 Pego1.PeColor.AxisBackColor = Color.FromArgb(255, 255, 255, 255);177 Pego1.PeColor.AxisForeColor = Color.FromArgb(255, 255, 0, 0);178 nChangedAxisColor = a;179 }180 break;181 }182 }183 184 if (nChangedAxisColor != -1)185 {186 for (a = 0; a < 16; a++)187 {188 if (a != nChangedAxisColor)189 {190 Pego1.PeGrid.WorkingAxis = a;191 Pego1.PeColor.AxisBackColor = Color.FromArgb(0,1,0,0); // Empty color192 Pego1.PeColor.AxisForeColor = Color.FromArgb(0,1,0,0);193 }194 }195 Pego1.Refresh();196 }197 }*/Pego1.PeData.Y[s, p]Click underlined properties to view documentation