[]
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.
public static bool GenerateHistogramData(double[] RawData, double[] Boundaries, double NormalizationWidth, ref double[] IntervalBounds, ref double[] IntervalCounts, ref double[] BoundaryIntervals)
Type | Name | Description |
---|---|---|
double[] | RawData | Specifies a double array containing data values. |
double[] | Boundaries | Specifies the interval boundaries. The boundaries array is sorted internally, and duplication boundaries are eliminated. |
double | NormalizationWidth | Specifies the interval width to be used for normalization. If less than or equal to zero, normalization is not performed. |
double[] | IntervalBounds | 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. |
double[] | IntervalCounts | 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. |
double[] | BoundaryIntervals | 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. |
Type | Description |
---|---|
bool | A boolean indicating success or failure. |
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.
Type | Condition |
---|---|
ArgumentNullException | Thrown when RawData or Boundaries are null. |
ArgumentException | Thrown when RawData or Boundaries arrays are too short. |
Generates histogram data from raw data and a series of interval boundaries specified by a starting value, an interval width and the number of intervals.
public static bool GenerateHistogramData(double[] RawData, double Start, double IncrementalWidth, int Count, double NormalizationWidth, ref double[] IntervalBounds, ref double[] IntervalCounts, ref double[] BoundaryIntervals)
Type | Name | Description |
---|---|---|
double[] | RawData | Specifies a double array containing data values. |
double | Start | Specifies the starting boundary of the first interval. |
double | IncrementalWidth | Specifies the width of each interval. |
int | Count | Specifies the number of consecutive, uniform width intervals. |
double | NormalizationWidth | Specifies the interval width to be used for normalization. If less than or equal to zero, normalization is not performed. |
double[] | IntervalBounds | 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. |
double[] | IntervalCounts | 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. |
double[] | BoundaryIntervals | 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. |
Type | Description |
---|---|
bool | A boolean indicating success or failure. |
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, if Start=1, IncrementalWidth=2 and Count=4, then intervals bounded by 1,3,5,7,9 are created, resulting in 4 intervals of 1-3, 3-5, 5-7, and 7-9.
Since all intervals are of equal width, it is not necessary to perform interval count normalization when only a single set of data is used. However, if multiple sets of data are used, and different interval widths are supplied, normalization provides a more consistent result.
Type | Condition |
---|---|
ArgumentNullException | Thrown when RawData is null. |
ArgumentException | Thrown when the RawData array is too short. |