Angled Text Annotation Justifications
1//! Right button click to show popup menu. //2//! Double Click to show customization dialog. //3 4// This example builds upon the basic CreateSimpleSGraph '100' example chart //5CreateSimpleSGraph(Pesgo1);6 7Pesgo1.PeString.MainTitle = "Graph Annotation Angled Text with Justification";8 9// Note, see example 015 for optional method for angled text"10 11Pesgo1.PeData.Subsets = 2;12Pesgo1.PeColor.SubsetColors[1] = MainWindow.DemoColors[2];13 14Pesgo1.PePlot.Method = SGraphPlottingMethod.Line;15 16Pesgo1.PeGrid.MultiAxesSubsets[0] = 1; // Separate data in axes to space them out17Pesgo1.PeGrid.MultiAxesSubsets[1] = 1;18Pesgo1.PeGrid.Option.MultiAxisStyle = MultiAxisStyle.GroupAllAxes;19 20Pesgo1.PeGrid.WorkingAxis = 1;21Pesgo1.PeGrid.Configure.AutoMinMaxPaddingY = 40; // Add extra padding to better handle large vertical text annotations22Pesgo1.PeGrid.Configure.AutoPadBeyondZeroY = true;23Pesgo1.PeGrid.WorkingAxis = 0;24Pesgo1.PeGrid.Configure.AutoMinMaxPaddingY = 40; // Add extra padding to better handle large vertical text annotations25Pesgo1.PeGrid.Configure.AutoPadBeyondZeroY = true;26 27Pesgo1.PeAnnotation.Graph.MinSymbolSize = MinimumPointSize.Medium; // fix size of annotation symbols28Pesgo1.PeAnnotation.Graph.MaxSymbolSize = MinimumPointSize.Medium;29 30int nGA = 0;31 32// Draw Angled Text Annotation // First define a type NullPen, with Text including JustificationCode35Pesgo1.PeAnnotation.Graph.Type[nGA] = (int)GraphAnnotationType.NullPen;36Pesgo1.PeAnnotation.Graph.Color[nGA] = Color.FromArgb(0, 0, 0, 0);37Pesgo1.PeAnnotation.Graph.Text[nGA] = "|L";38nGA++;39 40// Draw Angled Text Annotation //43Pesgo1.PeAnnotation.Graph.Type[nGA] = (int)GraphAnnotationType.NoSymbol; // .NoSymbol enables text to be hot spot44Pesgo1.PeAnnotation.Graph.Color[nGA] = Color.FromArgb(255, 0, 255, 255);45Pesgo1.PeAnnotation.Graph.Text[nGA] = "|a-850|Left Top -85";46Pesgo1.PeAnnotation.Graph.HotSpot[nGA] = AnnotationHotSpot.GraphOnly;47nGA++;48 49// Draw Small Dot // Add a symbol as above we used NoSymbol to allow text to be hot spot52Pesgo1.PeAnnotation.Graph.Type[nGA] = (int)GraphAnnotationType.SmallDotSolid;53Pesgo1.PeAnnotation.Graph.Color[nGA] = Color.FromArgb(255, 0, 255, 255);54Pesgo1.PeAnnotation.Graph.Text[nGA] = "";55Pesgo1.PeAnnotation.Graph.HotSpot[nGA] = AnnotationHotSpot.NoHotSpot;56nGA++;57 58// Draw Angled Text Annotation // First define a type NullPen, with Text including JustificationCode61Pesgo1.PeAnnotation.Graph.Type[nGA] = (int)GraphAnnotationType.NullPen;62Pesgo1.PeAnnotation.Graph.Color[nGA] = Color.FromArgb(0, 0, 0, 0);63Pesgo1.PeAnnotation.Graph.Text[nGA] = "|l";64nGA++;65 66// Draw Angled Text Annotation //69Pesgo1.PeAnnotation.Graph.Type[nGA] = (int)GraphAnnotationType.NoSymbol; // .NoSymbol enables text to be hot spot70Pesgo1.PeAnnotation.Graph.Color[nGA] = Color.FromArgb(255, 0, 255, 255);71Pesgo1.PeAnnotation.Graph.Text[nGA] = "|a450|Left Bottom 45";72Pesgo1.PeAnnotation.Graph.HotSpot[nGA] = AnnotationHotSpot.GraphOnly;73nGA++;74 75// Draw Small Dot // Add a symbol as above we used NoSymbol to allow text to be hot spot78Pesgo1.PeAnnotation.Graph.Type[nGA] = (int)GraphAnnotationType.SmallDotSolid;79Pesgo1.PeAnnotation.Graph.Color[nGA] = Color.FromArgb(255, 0, 255, 255);80Pesgo1.PeAnnotation.Graph.Text[nGA] = "";81Pesgo1.PeAnnotation.Graph.HotSpot[nGA] = AnnotationHotSpot.NoHotSpot;82nGA++;83 84// Draw Angled Text Annotation //87Pesgo1.PeAnnotation.Graph.Type[nGA] = (int)GraphAnnotationType.NullPen;88Pesgo1.PeAnnotation.Graph.Color[nGA] = Color.FromArgb(0, 0, 0, 0);89Pesgo1.PeAnnotation.Graph.Text[nGA] = "|r";90nGA++;91 92// Draw Angled Text Annotation //95Pesgo1.PeAnnotation.Graph.Type[nGA] = (int)GraphAnnotationType.NoSymbol; // .NoSymbol enables text to be hot spot96Pesgo1.PeAnnotation.Graph.Color[nGA] = Color.FromArgb(255, 0, 255, 255);97Pesgo1.PeAnnotation.Graph.Text[nGA] = "|a-550|Right Bottom -55";98Pesgo1.PeAnnotation.Graph.HotSpot[nGA] = AnnotationHotSpot.GraphOnly;99nGA++;100 101// Draw Small Dot // Add a symbol as above we used NoSymbol to allow text to be hot spot104Pesgo1.PeAnnotation.Graph.Type[nGA] = (int)GraphAnnotationType.SmallDotSolid;105Pesgo1.PeAnnotation.Graph.Color[nGA] = Color.FromArgb(255, 0, 255, 255);106Pesgo1.PeAnnotation.Graph.Text[nGA] = "";107Pesgo1.PeAnnotation.Graph.HotSpot[nGA] = AnnotationHotSpot.NoHotSpot;108nGA++;109 110// Draw Angled Text Annotation //113Pesgo1.PeAnnotation.Graph.Type[nGA] = (int)GraphAnnotationType.NullPen;114Pesgo1.PeAnnotation.Graph.Color[nGA] = Color.FromArgb(0, 0, 0, 0);115Pesgo1.PeAnnotation.Graph.Text[nGA] = "|R";116nGA++;117 118// Draw Angled Text Annotation //121Pesgo1.PeAnnotation.Graph.Type[nGA] = (int)GraphAnnotationType.NoSymbol; // .NoSymbol enables text to be hot spot122Pesgo1.PeAnnotation.Graph.Color[nGA] = Color.FromArgb(255, 0, 255, 255);123Pesgo1.PeAnnotation.Graph.Underline[nGA] = true; // add Underline124Pesgo1.PeAnnotation.Graph.Text[nGA] = "|a-450|Right Top -45";125Pesgo1.PeAnnotation.Graph.HotSpot[nGA] = AnnotationHotSpot.GraphOnly;126nGA++;127 128// Draw Small Dot // Add a symbol as above we used NoSymbol to allow text to be hot spot131Pesgo1.PeAnnotation.Graph.Type[nGA] = (int)GraphAnnotationType.SmallDotSolid;132Pesgo1.PeAnnotation.Graph.Color[nGA] = Color.FromArgb(255, 0, 255, 255);133Pesgo1.PeAnnotation.Graph.Text[nGA] = "";134Pesgo1.PeAnnotation.Graph.HotSpot[nGA] = AnnotationHotSpot.NoHotSpot;135nGA++;136 137// Draw Angled Text Annotation //138Pesgo1.PeAnnotation.Graph.Axis[nGA] = 1; // Note, we also set GraphAnnotationAxis as these annotations located on second axis141Pesgo1.PeAnnotation.Graph.Type[nGA] = (int)GraphAnnotationType.NullPen;142Pesgo1.PeAnnotation.Graph.Color[nGA] = Color.FromArgb(0, 0, 0, 0);143Pesgo1.PeAnnotation.Graph.Text[nGA] = "|c";144nGA++;145 146// Turn on Bounding Box Text //147Pesgo1.PeAnnotation.Graph.Type[nGA] = (int)GraphAnnotationType.TextBoundingBox;148Pesgo1.PeAnnotation.Graph.Color[nGA] = Color.FromArgb(255, 0, 100, 0);149nGA++;150 151// Draw Angled Text Annotation //152Pesgo1.PeAnnotation.Graph.Axis[nGA] = 1;155Pesgo1.PeAnnotation.Graph.Type[nGA] = (int)GraphAnnotationType.NoSymbol; // .NoSymbol enables text to be hot spot156Pesgo1.PeAnnotation.Graph.Color[nGA] = Color.FromArgb(255, 0, 255, 255);157Pesgo1.PeAnnotation.Graph.Text[nGA] = "|a050|Centered Bottom 05";158Pesgo1.PeAnnotation.Graph.HotSpot[nGA] = AnnotationHotSpot.GraphOnly;159nGA++;160 161// Turn off Bounding Box Text //162Pesgo1.PeAnnotation.Graph.Type[nGA] = (int)GraphAnnotationType.TextBoundingBox;163Pesgo1.PeAnnotation.Graph.Color[nGA] = Color.FromArgb(0, 0, 0, 0); // 0 Color turns off box164nGA++;165 166// Draw Small Dot // Add a symbol as above we used NoSymbol to allow text to be hot spot167Pesgo1.PeAnnotation.Graph.Axis[nGA] = 1;170Pesgo1.PeAnnotation.Graph.Type[nGA] = (int)GraphAnnotationType.SmallDotSolid;171Pesgo1.PeAnnotation.Graph.Color[nGA] = Color.FromArgb(255, 0, 255, 255);172Pesgo1.PeAnnotation.Graph.Text[nGA] = "";173Pesgo1.PeAnnotation.Graph.HotSpot[nGA] = AnnotationHotSpot.NoHotSpot;174nGA++;175 176// Draw Angled Text Annotation //177Pesgo1.PeAnnotation.Graph.Axis[nGA] = 1;180Pesgo1.PeAnnotation.Graph.Type[nGA] = (int)GraphAnnotationType.NullPen;181Pesgo1.PeAnnotation.Graph.Color[nGA] = Color.FromArgb(0, 0, 0, 0);182Pesgo1.PeAnnotation.Graph.Text[nGA] = "|C";183Pesgo1.PeAnnotation.Graph.HotSpot[nGA] = AnnotationHotSpot.GraphOnly;184 185nGA++;186 187// Draw Angled Text Annotation //188Pesgo1.PeAnnotation.Graph.Axis[nGA] = 1;191Pesgo1.PeAnnotation.Graph.Type[nGA] = (int)GraphAnnotationType.NoSymbol; // .NoSymbol enables text to be hot spot192Pesgo1.PeAnnotation.Graph.Color[nGA] = Color.FromArgb(255, 0, 255, 255);193Pesgo1.PeAnnotation.Graph.Text[nGA] = "|a450|Centered Top 45";194Pesgo1.PeAnnotation.Graph.HotSpot[nGA] = AnnotationHotSpot.GraphOnly;195nGA++;196 197// Draw Small Dot // Add a symbol as above we used NoSymbol to allow text to be hot spot198Pesgo1.PeAnnotation.Graph.Axis[nGA] = 1;201Pesgo1.PeAnnotation.Graph.Type[nGA] = (int)GraphAnnotationType.SmallDotSolid;202Pesgo1.PeAnnotation.Graph.Color[nGA] = Color.FromArgb(255, 0, 255, 255);203Pesgo1.PeAnnotation.Graph.Text[nGA] = "";204Pesgo1.PeAnnotation.Graph.HotSpot[nGA] = AnnotationHotSpot.NoHotSpot;205nGA++;206 207Pesgo1.PeFont.GraphAnnotationTextSize = 110;208Pesgo1.PeUserInterface.HotSpot.GraphAnnotation = AnnotationHotSpot.GraphOnly;209Pesgo1.PeAnnotation.InFront = true;210 211Pesgo1.PeUserInterface.Menu.AnnotationControl = true;212Pesgo1.PeUserInterface.Menu.ShowAnnotationText = MenuControl.Show;213Pesgo1.PeAnnotation.ShowAnnotationText = true;214Pesgo1.PeAnnotation.Show = true;215 216Pesgo1.PeColor.BitmapGradientMode = true;217Pesgo1.PeColor.QuickStyle = QuickStyle.DarkNoBorder;218Pesgo1.PeLegend.Style = LegendStyle.OneLineLeftOfAxis;219 220// Generally call ReinitializeResetImage at end **'221Pesgo1.PeFunction.ReinitializeResetImage();222Pesgo1.Invalidate();223// Optionally call Pego1.Refresh() if you are not seeing changes immediatelyPego1.PeData.Y[s, p]Click underlined properties to view documentation