Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

SmartLabelStyle Class

Provides methods and properties used to perform intelligent, rule-based data point label positioning to resolve overlapping data point label issues.

System.Object
  System.Windows.Forms.DataVisualization.Charting.SmartLabelStyle
    System.Windows.Forms.DataVisualization.Charting.AnnotationSmartLabelStyle

Namespace:  System.Windows.Forms.DataVisualization.Charting
Assembly:  System.Windows.Forms.DataVisualization (in System.Windows.Forms.DataVisualization.dll)
public class SmartLabelStyle

The SmartLabelStyle type exposes the following members.

  NameDescription
Public methodSmartLabelStyleInitializes a new instance of the SmartLabelStyle class.
Top
  NameDescription
Public propertyAllowOutsidePlotAreaGets or sets a flag that specifies whether a SmartLabelStyle object can be drawn outside the plotting area.
Public propertyCalloutBackColorGets or sets the background color of the label callout.
Public propertyCalloutLineAnchorCapStyleGets or sets the anchor cap style of the label callout line.
Public propertyCalloutLineColorGets or sets the color of the label callout line.
Public propertyCalloutLineDashStyleGets or sets the style of the label callout line.
Public propertyCalloutLineWidthGets or sets the width of the label callout line.
Public propertyCalloutStyleGets or sets the callout style of the repositioned SmartLabelStyle object.
Public propertyEnabledGets or sets a flag that indicates whether a SmartLabelStyle algorithm is enabled.
Public propertyIsMarkerOverlappingAllowedGets or sets a flag that specifies whether the point labels are allowed to overlap a point marker.
Public propertyIsOverlappedHiddenGets or sets a flag that indicates whether overlapped labels that cannot be repositioned will be hidden.
Public propertyMaxMovingDistanceGets or sets the maximum distance, in pixels, that the overlapped SmartLabelStyle object can be moved from the marker.
Public propertyMinMovingDistanceGets or sets the minimum distance, in pixels, that the overlapped SmartLabelStyle object can be moved from the marker.
Public propertyMovingDirectionGets or sets the direction(s) in which the overlapped SmartLabelStyle object is allowed to be moved.
Top
  NameDescription
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Top

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.

.NET Framework

Supported in: 4.5.1, 4.5, 4

.NET Framework Client Profile

Supported in: 4

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, 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.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.