Generates histogram data from an array of raw data and the specified interval boundaries. Count normalization is performed by specifying an appropriate NormalizationWidth.

Although the chart has a Histogram chart type, it is sometimes preferable to generate charts similar to histograms, but with slightly different characteristics. This method is provided as a convenience for these occasions.

Namespace:  C1.Win.C1Chart
Assembly:  C1.Win.C1Chart.2 (in C1.Win.C1Chart.2.dll)

Syntax

C#
public static bool GenerateHistogramData(
	double[] RawData,
	double[] Boundaries,
	double NormalizationWidth,
	ref double[] IntervalBounds,
	ref double[] IntervalCounts,
	ref double[] BoundaryIntervals
)
Visual Basic
Public Shared Function GenerateHistogramData ( _
	RawData As Double(), _
	Boundaries As Double(), _
	NormalizationWidth As Double, _
	ByRef IntervalBounds As Double(), _
	ByRef IntervalCounts As Double(), _
	ByRef BoundaryIntervals As Double() _
) As Boolean

Parameters

RawData
Type: array<System..::..Double>[]()[][]
Specifies a double array containing data values.
Boundaries
Type: array<System..::..Double>[]()[][]
Specifies the interval boundaries. The boundaries array is sorted internally, and duplication boundaries are eliminated.
NormalizationWidth
Type: System..::..Double
Specifies the interval width to be used for normalization. If less than or equal to zero, normalization is not performed.
IntervalBounds
Type: array<System..::..Double>[]()[][]%
A reference to a double array which will receive the actual ordered and trimmed boundaries of the intervals making up the histogram. This array is generated internally from the input Boundaries array.
IntervalCounts
Type: array<System..::..Double>[]()[][]%
A reference to a double array which will receive the count of data points that fall into the interval specified by the IntervalBounds array. The IntervalCounts array will necessarily have one less element than the IntervalBounds array.
BoundaryIntervals
Type: array<System..::..Double>[]()[][]%
A reference to a two element double array which will receive the count of data points that fall outside the specified Boundaries array. Element zero (0) of the array receives the count of data points with values less than the lowest value in the Boundaries array. Element one (1) of the array receives the count of data points with values greater than the highest value in the Boundaries array.

Return Value

A boolean indicating success or failure.

Remarks

Each pair of consecutive interval boundary values is used to specify an interval. This results in one less interval than the number of boundary points. For example, boundaries of 1,3,4,5,6 would result in 4 intervals of 1-3, 3-4, 4-5, and 5-6. Note that each interval need not be the same width. When varying widths are specified in the IntervalBounds array, the numeric counts are should be normalized by their area. This means that an interval with twice the width of another interval, but with the same number of data points falling within it, will report half the returned count.

Exceptions

ExceptionCondition
System..::..ArgumentNullExceptionThrown when RawData or Boundaries are null.
System..::..ArgumentExceptionThrown when RawData or Boundaries arrays are too short.

See Also