SmartLabelStyle Class
Provides methods and properties used to perform intelligent, rule-based data point label positioning to resolve overlapping data point label issues.
System.Web.UI.DataVisualization.Charting.SmartLabelStyle
System.Web.UI.DataVisualization.Charting.AnnotationSmartLabelStyle
Namespace: System.Web.UI.DataVisualization.Charting
Assembly: System.Web.DataVisualization (in System.Web.DataVisualization.dll)
The SmartLabelStyle type exposes the following members.
Name | Description | |
---|---|---|
![]() | AllowOutsidePlotArea | Gets or sets a flag that specifies whether a SmartLabelStyle object can be drawn outside the plotting area. |
![]() | CalloutBackColor | Gets or sets the background color of the label callout. |
![]() | CalloutLineAnchorCapStyle | Gets or sets the anchor cap style of the label callout line. |
![]() | CalloutLineColor | Gets or sets the color of the label callout line. |
![]() | CalloutLineDashStyle | Gets or sets the style of the label callout line. |
![]() | CalloutLineWidth | Gets or sets the width of the label callout line. |
![]() | CalloutStyle | Gets or sets the callout style of the repositioned SmartLabelStyle object. |
![]() | Enabled | Gets or sets a flag that indicates whether a SmartLabelStyle algorithm is enabled. |
![]() | IsMarkerOverlappingAllowed | Gets or sets a flag that specifies whether the point labels are allowed to overlap a point marker. |
![]() | IsOverlappedHidden | Gets or sets a flag that indicates whether overlapped labels that cannot be repositioned will be hidden. |
![]() | MaxMovingDistance | Gets or sets the maximum distance, in pixels, that the overlapped SmartLabelStyle object can be moved from the marker. |
![]() | MinMovingDistance | Gets or sets the minimum distance, in pixels, that the overlapped SmartLabelStyle object can be moved from the marker. |
![]() | MovingDirection | Gets or sets the direction(s) in which the overlapped SmartLabelStyle object is allowed to be moved. |
Name | Description | |
---|---|---|
![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
When smart labels are enabled, the chart repositions overlapping data point labels, based on a set of user-defined rules.
Callout lines will be drawn to link the label with its data point. The visual attributes of the callout line can be controlled. These visual attributes include color, line style, and line width. The CalloutStyle and CalloutLineAnchorCapStyle properties control the embellishments, such as arrowheads, that appear at the end of the callout line.
The CalloutLineColor property can be set to any Color object. If you set the color of the callout line, you will also automatically set the color of the CalloutLineAnchorCapStyle and the embellishment defined by the CalloutStyle.
The CalloutLineWidth property controls the pixel width of the callout line. Use of this property will also scale the embellishments of the CalloutLineAnchorCapStyle and the CalloutStyle.
The movement of smart labels can be controlled through the use of several motion-related properties. These define the rules of movement for the direction, distance and whether the data point label is allowed to leave the plotting area. The default movement rules will normally resolve most issues. The MaxMovingDistance defines a value that specifies the maximum distance in pixels from the data point that data point labels are allowed to be moved in case of overlapping. The MinMovingDistance property defines a value that specifies the minimum distance in pixels from the data point that data point labels will be moved in case of overlapping. When a data point label needs to be repositioned, the label will be moved by at least the number of pixels specified.
The IsOverlappedHidden property indicates whether the labels are hidden when overlapping issues cannot be resolved. If the IsOverlappedHidden property is true, and the data point cannot be drawn within the area specified by MinMovingDistance and MaxMovingDistance in the directions allowed by MovingDirection, the data point label will not be drawn.
The MovingDirection property defines the direction(s) in which the data point label can be moved. This property accepts one LabelAlignmentStyles value or a bitwise-OR of multiple LabelAlignmentStyles values. The default is the bitwise-OR of all LabelAlignmentStyles values, to allow repositioning in all possible directions except to the center of the data point.
Smart labels are not supported for the following chart types:
Bar charts: bar and hundred-percent-stacked bar charts.
Shape charts: pie, doughnut, polar and radar charts.
Range charts: range, range column and range bar charts.
Stacked area charts: stacked area and hundred-percent-stacked area charts.
using System.Web.UI.DataVisualization.Charting private void SetSmartLabelsOptions() { // Enabling the SmartLabels™ attribute. Chart1.Series["Series1"].SmartLabels.Enabled = true; // Set the callout style. Chart1.Series["Series1"].SmartLabels.CalloutStyle = LabelCalloutStyle.Underlined; // Set the callout line color. Chart1.Series["Series1"].SmartLabels.CalloutLineColor = Color.Goldenrod; // Set the callout line style. Chart1.Series["Series1"].SmartLabels.CalloutLineStyle = ChartDashStyle.Dash; // Set the callout line width. Chart1.Series["Series1"].SmartLabels.CalloutLineWidth = 3; // Set the callout line anchor cap. Chart1.Series["Series1"].SmartLabels.CalloutLineAnchorCap = LineAnchorCap.Arrow; }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.