Spread Windows Forms 18
Spread Windows Forms 18 Product Documentation / Developer's Guide / Chart Control / Understanding Charts / Plot Types / Y Plot Types / Histogram Charts
In This Topic
    Histogram Charts
    In This Topic

    A histogram chart shows the frequency of data. The chart uses two types of data (data to be analyzed and the bin numbers that represent the frequency intervals of the data).

    Histogram Chart Example

    You can specify the following options for the chart:

    Properties Description
    AutoOverFlow
    AutoUnderFlow
    Specifies that the bin width is calculated using Scott’s normal reference rule. Scott’s normal reference rule tries to minimize the bias in variance of the histogram compared with the data set, while assuming normally distributed data.
    BinCount Specifies the number of bins for the histogram (including overflow and underflow bins).
    OverFlowValue
    IsOverflowBin
    Creates a bin for all values above the specified value.
    IsUnderflowBin
    UnderFlowValue
    Creates a bin for all values below or equal to the specified value.
    BinType Specifies whether to use categories or numbers for the bins.

    You can add data to the control or use the HistogramSeries class to create data for the chart. Use the BinSize property to specify the bin size.

    For information about creating charts in the Spread Designer or the Chart Designer, refer to Using the Chart Control on sheet or Adding a Chart Control.

    Using Code

    1. Add data for the chart with the HistogramSeries class.
    2. Specify the plot area using the YPlotArea class.
    3. Set the position and size of the plot area.
    4. Add a series to the plot area.
    5. Create a chart model and add the plot area to this model.
    6. Create a chart and set a chart model for this chart.
    7. Add the chart to SPREAD.

    Example

    This example creates a histogram chart with a bin size of 20.

    C#
    Copy Code

    FarPoint.Win.Chart.HistogramSeries hs = new FarPoint.Win.Chart.HistogramSeries();
    hs.SeriesName = "Histogram Sample";
    hs.Values.Add(23);
    hs.Values.Add(5);
    hs.Values.Add(79);
    hs.Values.Add(11);
    hs.Values.Add(23);
    hs.Values.Add(55);
    hs.Values.Add(88);
    hs.Values.Add(67);
    hs.Values.Add(42);
    hs.Values.Add(56);
    hs.BinOption.BinSize = 20;

    FarPoint.Win.Chart.YPlotArea plotArea = new FarPoint.Win.Chart.YPlotArea();
    plotArea.Location = new PointF(0.2f, 0.2f);
    plotArea.Size = new SizeF(0.6f, 0.6f);
    plotArea.Series.Add(hs);

    FarPoint.Win.Chart.ChartModel model = new FarPoint.Win.Chart.ChartModel();
    model.PlotAreas.Add(plotArea);

    FarPoint.Win.Spread.Chart.SpreadChart chart = new FarPoint.Win.Spread.Chart.SpreadChart();
    chart.Model = model;
    chart.Left = 0;
    chart.Top = 150;
    chart.Size = new Size(400, 200);
    fpSpread1.ActiveSheet.Charts.Add(chart);

    VB
    Copy Code

    Dim hs As New FarPoint.Win.Chart.HistogramSeries()
    hs.SeriesName = "Histogram Sample"
    hs.Values.Add(23)
    hs.Values.Add(5)
    hs.Values.Add(79)
    hs.Values.Add(11)
    hs.Values.Add(23)
    hs.Values.Add(55)
    hs.Values.Add(88)
    hs.Values.Add(67)
    hs.Values.Add(42)
    hs.Values.Add(56)
    hs.BinOption.BinSize = 20

    Dim plotArea As New FarPoint.Win.Chart.YPlotArea()
    plotArea.Location = New PointF(0.2F, 0.2F)
    plotArea.Size = New SizeF(0.6F, 0.6F)
    plotArea.Series.Add(hs)

    Dim model As New FarPoint.Win.Chart.ChartModel()
    model.PlotAreas.Add(plotArea)

    Dim chart As New FarPoint.Win.Spread.Chart.SpreadChart()
    chart.Model = model
    chart.Left = 0
    chart.Top = 150
    chart.Size = New Size(400, 200)
    fpSpread1.ActiveSheet.Charts.Add(chart)