FlexChart for WinForms
WinForms 誤差範囲バー
WinForms のチャートタイプ > 統計チャート > WinForms 誤差範囲バー

誤差範囲バーは、測定データ内の推定誤差または不確実性を示して、データの精度を提示するグラフです。多くの場合、この精度はデータセットの標準偏差で表されます。一般に誤差範囲バーは、科学研究、科学実験などの科学的測定の結果をプロットして、元の値からのデータのばらつきを表現する際に役立ちます。販売予測における偏差は、誤差範囲バーを使用して表示できる代表的な例です。

WinForms 誤差範囲バーグラフ

WinForms 誤差範囲バーグラフの作成

FlexChart の誤差範囲バーは、折れ線グラフ、面グラフ、縦棒グラフ、散布図、スプライングラフなどのさまざまなチャートタイプと一緒に表示できます。誤差範囲バーは、誤差範囲系列を表す ErrorBar クラスを使用して実装できます。他の系列関連のプロパティとは別に、このクラスは誤差範囲バー系列に固有のプロパティを提供し(ErrorAmount プロパティなど)、それを使用して系列の誤差量を標準誤差範囲、パーセント値、または標準偏差として指定できます。このプロパティは、ErrorAmount 列挙に含まれる値を受け取ります。FlexChart には、Direction プロパティを使用して誤差範囲バーを正方向、負方向、または両方向のいずれに表示するかを指定するオプションもあります。 FlexChart の EndStyle プロパティでは、誤差範囲バーの終点にキャップを表示するかどうかを指定できます。バースタイルの外観をカスタマイズするには、ErrorBarStyle プロパティを使用します。

// 系列をクリアします
flexChart1.Series.Clear();

// FlexChartのヘッダーを設定します
flexChart1.Header.Content = "Sales Forecast Accuracy";

// ErrorBarを作成して追加します
_bar = new C1.Win.Chart.ErrorBar()
{
    Binding = "Sales",
    Name = "Sales",
    ErrorAmount = ErrorAmount.FixedValue,
    ErrorValue = 50,
};
flexChart1.Series.Add(_bar);

// データソースを指定します
flexChart1.DataSource = GetCountrySales();
' 系列をクリアします
flexChart1.Series.Clear()

' FlexChartのヘッダーを設定します
flexChart1.Header.Content = "Sales Forecast Accuracy"

' ErrorBarを作成して追加します
_bar = New C1.Win.Chart.ErrorBar() With {
     .Binding = "Sales",
     .Name = "Sales",
     .ErrorAmount = ErrorAmount.FixedValue,
     .ErrorValue = 50
}
flexChart1.Series.Add(_bar)

' データソースを指定します
flexChart1.DataSource = GetCountrySales()

上記のサンプルコードは、GetCountrySales という名前のカスタムメソッドを使用してチャートにデータを提供しています。要件に基づいてデータソースを設定できます。

/// <summary>
/// StatisticalChartのデータを作成するメソッド
/// </summary>
private DataSource _dataHelper = new DataSource().Instance;
private Random rnd = new Random();
public List<Country> GetCountrySales(int rangeMin = 100, int rangeMax = 1000)
{
    var data = new List<Country>();
    for (int i = 0; i < _dataHelper.Countries.Length; i++)
    {
        var country = new Country
        {
            Name = _dataHelper.Countries[i],
            Sales = rnd.Next(rangeMin, rangeMax),
        };
        data.Add(country);
    }
    return data;
}
''' <summary>
''' StatisticalChartのデータを作成するメソッド
''' </summary>
Private _dataHelper As DataSource = New DataSource().Instance
Private rnd As New Random()
Public Function GetCountrySales(Optional rangeMin As Integer = 100, Optional rangeMax As Integer = 1000) As List(Of Country)
    Dim data As List(Of Country) = New List(Of Country)()
    For i As Integer = 0 To _dataHelper.Countries.Length - 1
        Dim country As Country = New Country() With {
            .Name = _dataHelper.Countries(i),
            .Sales = rnd.[Next](rangeMin, rangeMax)
        }
        data.Add(country)
    Next
    Return data
End Function