このトピックは、 XamDataChart™ コントロールの値オーバーレイ機能を紹介し、コード例を示して、値のオーバーレイの表示方法を説明します。
トピックは以下のとおりです。
カテゴリ シリーズ
散布図シリーズ
固定値の誤差範囲
パーセンテージ誤差範囲
標準の誤差範囲
標準偏差の誤差範囲
カスタムデータの誤差範囲
カテゴリ誤差範囲のプロパティ
散布誤差範囲のプロパティ
固定値誤差範囲のあるカテゴリ シリーズ
パーセント誤差範囲のあるカテゴリ シリーズ
標準誤差範囲のあるカテゴリ シリーズ
標準偏差誤差範囲のあるカテゴリ シリーズ
カスタムデータ誤差範囲のあるカテゴリ シリーズ
固定値誤差範囲のある散布シリーズ
パーセント誤差範囲のある散布シリーズ
標準誤差範囲のある散布シリーズ
標準偏差誤差範囲のある散布シリーズ
カスタムデータ誤差範囲のある散布シリーズ
誤差範囲は、シリーズ オブジェクトを使用してデータ チャートにプロットするデータのばらつきを視覚的に表現したものです。データ内の誤差や不確実性を示すためにチャート上で使用されます。一般に、データ測定値がどのように正確なのか、または真の値が測定値からどの程度離れているかを視覚的に表します。
XamDataChart では、誤差範囲の長さは Infragistics Math Calculators™ を使用して計算し、以下のアセンブリは、誤差範囲をデータ ポイント上に表示する前に WPF プロジェクトに追加しなければなりません。
このセクションは、Data Chart コントロール内の誤差範囲をサポートするシリーズ タイプのリストを示します。
表 1 - サポートされるシリーズのタイプ
データ チャートは、以下の表 2 にリストされる数多くの誤差範囲のタイプをサポートします。誤差範囲の長さは、 IErrorBarCalculator インターフェイスを実装する Infragistics 数学計算式を使用して計算されます。
表 2 - 誤差範囲のタイプ
以下の表は、 カテゴリ シリーズグループ内のすべてのシリーズに対する誤差範囲に関係するプロパティの概要を提供します。
以下の表は、 散布シリーズグループ内のすべてのシリーズに対する誤差範囲に関係するプロパティの概要を提供します。
このセクションは、Data Chart コントロールでシリーズ上の誤差範囲の各種タイプを表示するためのコード例を示します。
以下のコード リストは、LineSeries 上の固定値誤差範囲を表示する方法を示します。
XAML の場合:
xmlns:ig="http://schemas.infragistics.com/xaml" xmlns:igCalc=http://schemas.infragistics.com/xaml
XAML の場合:
<ig:LineSeries.ErrorBarSettings>
<ig:ScatterErrorBarSettings EnableErrorBars="Both" >
<ig:CategoryErrorBarSettings.Calculator>
<igCalc:FixedValueCalculator Value="10" />
</ig:CategoryErrorBarSettings.Calculator>
</ig:ScatterErrorBarSettings>
</ig:LineSeries.ErrorBarSettings>
Visual Basic の場合:
Imports Infragistics.Controls.Charts Imports Infragistics.Math.Calculators '... Dim barsSettings As New CategoryErrorBarSettings() barsSettings.EnableErrorBars = EnableErrorBars.Both barsSettings.Calculator = New FixedValueCalculator() barsSettings.Calculator.Value = 10.0 '... Dim series As New LineSeries() '... series.ErrorBarSettings = barsSettings
C# の場合:
using Infragistics.Controls.Charts using Infragistics.Math.Calculators; // ... CategoryErrorBarSettings barsSettings = new CategoryErrorBarSettings(); barsSettings.EnableErrorBars = EnableErrorBars.Both; barsSettings.Calculator = new FixedValueCalculator(); barsSettings.Calculator.Value = 10.0; // ... LineSeries series = new LineSeries(); // ... series.ErrorBarSettings = barsSettings;
図 3 - 固定値誤差範囲のあるライン シリーズ
以下のコード リストは、LineSeries 上のパーセント誤差範囲を表示する方法を示します。
XAML の場合:
<ig:LineSeries.ErrorBarSettings>
<ig:ScatterErrorBarSettings EnableErrorBars="Both" >
<ig:CategoryErrorBarSettings.Calculator>
<igCalc:PercentageCalculator Value="10" />
</ig:CategoryErrorBarSettings.Calculator>
</ig:ScatterErrorBarSettings>
</ig:LineSeries.ErrorBarSettings>
Visual Basic の場合:
Imports Infragistics.Controls.Charts Imports Infragistics.Math.Calculators '... Dim barsSettings As New CategoryErrorBarSettings() barsSettings.EnableErrorBars = EnableErrorBars.Both barsSettings.Calculator = New PercentageCalculator() barsSettings.Calculator.Value = 10.0 '... Dim series As New LineSeries() '... series.ErrorBarSettings = barsSettings
C# の場合:
using Infragistics.Controls.Charts; using Infragistics.Math.Calculators; // ... CategoryErrorBarSettings barsSettings = new CategoryErrorBarSettings(); barsSettings.EnableErrorBars = EnableErrorBars.Both; barsSettings.Calculator = new PercentageCalculator(); barsSettings.Calculator.Value = 10.0; // ... LineSeries series = new LineSeries(); // ... series.ErrorBarSettings = barsSettings;
図 3 - パーセント誤差範囲のあるライン シリーズ
以下のコード リストは、LineSeries 上の標準誤差範囲を表示する方法を示します。
XAML の場合:
<ig:LineSeries.ErrorBarSettings>
<ig:ScatterErrorBarSettings EnableErrorBars="Both" >
<ig:CategoryErrorBarSettings.Calculator>
<igCalc:StandardErrorCalculator ItemsSource="{StaticResource CategoryData}" ValueMemberPath="Value" />
</ig:CategoryErrorBarSettings.Calculator>
</ig:ScatterErrorBarSettings>
</ig:LineSeries.ErrorBarSettings>
Visual Basic の場合:
Imports Infragistics.Controls.Charts Imports Infragistics.Math.Calculators '... Dim series As New LineSeries() '... Dim barsSettings As New CategoryErrorBarSettings() barsSettings.EnableErrorBars = EnableErrorBars.Both barsSettings.Calculator = New StandardErrorCalculator() barsSettings.Calculator.ItemsSource = series.ItemsSource barsSettings.Calculator.ValueMemberPath = "Value" '... series.ErrorBarSettings = barsSettings
C# の場合:
using Infragistics.Controls.Charts; using Infragistics.Math.Calculators; // ... LineSeries series = new LineSeries(); // ... CategoryErrorBarSettings barsSettings = new CategoryErrorBarSettings(); barsSettings.EnableErrorBars = EnableErrorBars.Both; barsSettings.Calculator = new StandardErrorCalculator(); barsSettings.Calculator.ItemsSource = series.ItemsSource; barsSettings.Calculator.ValueMemberPath = "Value"; // ... series.ErrorBarSettings = barsSettings;
図 3 - 標準誤差範囲のあるライン シリーズ
以下のコード リストは、LineSeries 上のパーセント標準偏差誤差範囲を表示する方法を示します。
XAML の場合:
<ig:LineSeries.ErrorBarSettings>
<ig:ScatterErrorBarSettings EnableErrorBars="Both" >
<ig:CategoryErrorBarSettings.Calculator>
<igCalc:StandardDeviationCalculator ItemsSource="{StaticResource CategoryData}" ValueMemberPath="Value" />
</ig:CategoryErrorBarSettings.Calculator>
</ig:ScatterErrorBarSettings>
</ig:LineSeries.ErrorBarSettings>
Visual Basic の場合:
Imports Infragistics.Controls.Charts Imports Infragistics.Math.Calculators '... Dim series As New LineSeries() '... Dim barsSettings As New CategoryErrorBarSettings() barsSettings.EnableErrorBars = EnableErrorBars.Both barsSettings.Calculator = New StandardDeviationCalculator() barsSettings.Calculator.ItemsSource = series.ItemsSource barsSettings.Calculator.ValueMemberPath = "Value" '... series.ErrorBarSettings = barsSettings
C# の場合:
using Infragistics.Controls.Charts; using Infragistics.Math.Calculators; // ... LineSeries series = new LineSeries(); // ... CategoryErrorBarSettings barsSettings = new CategoryErrorBarSettings(); barsSettings.EnableErrorBars = EnableErrorBars.Both; barsSettings.Calculator = new StandardDeviationCalculator(); barsSettings.Calculator.ItemsSource = series.ItemsSource; barsSettings.Calculator.ValueMemberPath = "Value"; // ... series.ErrorBarSettings = barsSettings;
図 3 - 標準偏差誤差範囲のあるライン シリーズ
以下のコード リストは、LineSeries 上のカスタム データ誤差範囲を表示する方法を示します。カスタム データ誤差範囲の値は、DataCalculator の ItemsSource プロパティにバインドされるデータ セットによって提供されます。
Visual Basic の場合:
Imports System.Collections.ObjectModel
'...
Public Class ErrorBarDataSample
Inherits ErrorBarDataCollection
Public Sub New()
Me.New(0.1, 100)
End Sub
Public Sub New(variable As Double, items As Integer)
Dim value As Double = 0
For i As Integer = 0 To items - 2
Dim dataPoint As New ErrorBarDataPoint()
dataPoint.Value = value
Me.Add(dataPoint)
If i < (items / 2) Then
value += variable
Else
value -= variable
End If
Next
End Sub
End Class
Public Class ErrorBarDataCollection
Inherits ObservableCollection(Of ErrorBarDataPoint)
End Class
Public Class ErrorBarDataPoint
Public Property Value() As Double
Get
Return value
End Get
Set
_value = Value
End Set
End Property
Private value As Double
End Class
C# の場合:
using System.Collections.ObjectModel;
// ...
public class ErrorBarDataSample : ErrorBarDataCollection
{
public ErrorBarDataSample(): this(0.1, 100)
{ }
public ErrorBarDataSample(double variable, int items)
{
double value = 0;
for (int i = 0; i < items - 1; i++)
{
ErrorBarDataPoint dataPoint = new ErrorBarDataPoint();
dataPoint.Value = value;
this.Add(dataPoint);
if (i < (items / 2)) value += variable; else value -= variable;
}
}
}
public class ErrorBarDataCollection : ObservableCollection<ErrorBarDataPoint>
{ }
public class ErrorBarDataPoint
{
public double Value { get; set; }
}
XAML の場合:
<ig:LineSeries.ErrorBarSettings>
<ig:ScatterErrorBarSettings EnableErrorBars="Both" >
<ig:CategoryErrorBarSettings.Calculator>
<igCalc:DataCalculator ItemsSource="{StaticResource ErrorBarData}" ValueMemberPath="Value" />
</ig:CategoryErrorBarSettings.Calculator>
</ig:ScatterErrorBarSettings>
</ig:LineSeries.ErrorBarSettings>
Visual Basic の場合:
Imports Infragistics.Controls.Charts Imports Infragistics.Math.Calculators '... Dim series As New LineSeries() '... Dim errorBarsData As New ErrorBarDataSample() Dim barsSettings As New CategoryErrorBarSettings() barsSettings.EnableErrorBars = EnableErrorBars.Both barsSettings.Calculator = New DataCalculator() barsSettings.Calculator.ItemsSource = errorBarsData barsSettings.Calculator.ValueMemberPath = "Value" '... series.ErrorBarSettings = barsSettings
C# の場合:
using Infragistics.Controls.Charts; using Infragistics.Math.Calculators; // ... LineSeries series = new LineSeries(); // ... ErrorBarDataSample errorBarsData = new ErrorBarDataSample(); CategoryErrorBarSettings barsSettings = new CategoryErrorBarSettings(); barsSettings.EnableErrorBars = EnableErrorBars.Both; barsSettings.Calculator = new DataCalculator(); barsSettings.Calculator.ItemsSource = errorBarsData barsSettings.Calculator.ValueMemberPath = "Value" // ... series.ErrorBarSettings = barsSettings;
図 3 - カスタム データ誤差範囲のあるライン シリーズ
以下のコード リストは、ScatterSeries 上の固定値誤差範囲を表示する方法を示します。
XAML の場合:
<ig:ScatterSeries.ErrorBarSettings>
<ig:ScatterErrorBarSettings EnableErrorBarsHorizontal="Both"
EnableErrorBarsVertical="Both" >
<ig:ScatterErrorBarSettings.HorizontalCalculator>
<igCalc:FixedValueCalculator Value="2" />
</ig:ScatterErrorBarSettings.HorizontalCalculator>
<ig:ScatterErrorBarSettings.VerticalCalculator>
<igCalc:FixedValueCalculator Value="20" />
</ig:ScatterErrorBarSettings.VerticalCalculator>
</ig:ScatterErrorBarSettings>
</ig:ScatterSeries.ErrorBarSettings>
Visual Basic の場合:
Imports Infragistics.Controls.Charts Imports Infragistics.Math.Calculators '... Dim barsSettings As New ScatterErrorBarSettings() barsSettings.EnableErrorBarsHorizontal = EnableErrorBars.Both barsSettings.HorizontalCalculator = New FixedValueCalculator() barsSettings.HorizontalCalculator.Value = 2.0 '... barsSettings.EnableErrorBarsVertical = EnableErrorBars.Both barsSettings.VerticalCalculator = New FixedValueCalculator() barsSettings.VerticalCalculator.Value = 20.0 '... Dim series As New ScatterSeries() '... series.ErrorBarSettings = barsSettings
C# の場合:
using Infragistics.Controls.Charts; using Infragistics.Math.Calculators; // ... ScatterErrorBarSettings barsSettings = new ScatterErrorBarSettings(); barsSettings.EnableErrorBarsHorizontal = EnableErrorBars.Both; barsSettings.HorizontalCalculator = new FixedValueCalculator(); barsSettings.HorizontalCalculator.Value = 2.0; // ... barsSettings.EnableErrorBarsVertical = EnableErrorBars.Both; barsSettings.VerticalCalculator = new FixedValueCalculator(); barsSettings.VerticalCalculator.Value = 20.0; // ... ScatterSeries series = new ScatterSeries(); // ... series.ErrorBarSettings = barsSettings;
図 3 - 固定値誤差範囲のある散布シリーズ
以下のコード リストは、ScatterSeries 上のパーセント誤差範囲を表示する方法を示します。
XAML の場合:
<ig:ScatterSeries.ErrorBarSettings>
<ig:ScatterErrorBarSettings EnableErrorBarsHorizontal="Both"
EnableErrorBarsVertical="Both" >
<ig:ScatterErrorBarSettings.HorizontalCalculator>
<igCalc:PercentageCalculator Value="5" />
</ig:ScatterErrorBarSettings.HorizontalCalculator>
<ig:ScatterErrorBarSettings.VerticalCalculator>
<igCalc:PercentageCalculator Value="10" />
</ig:ScatterErrorBarSettings.VerticalCalculator>
</ig:ScatterErrorBarSettings>
</ig:ScatterSeries.ErrorBarSettings>
Visual Basic の場合:
Imports Infragistics.Controls.Charts Imports Infragistics.Math.Calculators '... Dim barsSettings As New ScatterErrorBarSettings() barsSettings.EnableErrorBarsHorizontal = EnableErrorBars.Both barsSettings.HorizontalCalculatorReference = ErrorBarCalculatorReference.X barsSettings.HorizontalCalculator = New PercentageCalculator() barsSettings.HorizontalCalculator.Value = 5.0 '... barsSettings.EnableErrorBarsVertical = EnableErrorBars.Both barsSettings.VerticalCalculatorReference = ErrorBarCalculatorReference.Y barsSettings.VerticalCalculator = New PercentageCalculator() barsSettings.HorizontalCalculator.Value = 10.0 '... Dim series As New ScatterSeries() '... series.ErrorBarSettings = barsSettings
C# の場合:
using Infragistics.Controls.Charts; using Infragistics.Math.Calculators; // ... ScatterErrorBarSettings barsSettings = new ScatterErrorBarSettings(); barsSettings.EnableErrorBarsHorizontal = EnableErrorBars.Both; barsSettings.HorizontalCalculatorReference = ErrorBarCalculatorReference.X; barsSettings.HorizontalCalculator = new PercentageCalculator(); barsSettings.HorizontalCalculator.Value = 5.0; // ... barsSettings.EnableErrorBarsVertical = EnableErrorBars.Both; barsSettings.VerticalCalculatorReference = ErrorBarCalculatorReference.Y; barsSettings.VerticalCalculator = new PercentageCalculator(); barsSettings.HorizontalCalculator.Value = 10.0; // ... ScatterSeries series = new ScatterSeries(); // ... series.ErrorBarSettings = barsSettings;
図 4 - パーセント誤差範囲のある散布シリーズ
以下のコード リストは、ScatterSeries 上の標準誤差範囲を表示する方法を示します。
XAML の場合:
<ig:ScatterSeries.ErrorBarSettings>
<ig:ScatterErrorBarSettings EnableErrorBarsHorizontal="Both" >
<ig:ScatterErrorBarSettings.HorizontalCalculator>
<igCalc:StandardErrorCalculator ItemsSource="{StaticResource ScatterData}" ValueMemberPath="X" />
</ig:ScatterErrorBarSettings.HorizontalCalculator>
</ig:ScatterErrorBarSettings>
</ig:ScatterSeries.ErrorBarSettings>
Visual Basic の場合:
Imports Infragistics.Controls.Charts Imports Infragistics.Math.Calculators '... Dim series As New ScatterSeries() '... Dim barsSettings As New ScatterErrorBarSettings() barsSettings.EnableErrorBarsHorizontal = EnableErrorBars.Both barsSettings.HorizontalCalculator = New StandardErrorCalculator() barsSettings.HorizontalCalculator.ItemsSource = series.ItemsSource barsSettings.HorizontalCalculator.ValueMemberPath = "X" '... series.ErrorBarSettings = barsSettings
C# の場合:
using Infragistics.Controls.Charts; using Infragistics.Math.Calculators; // ... ScatterSeries series = new ScatterSeries(); // ... ScatterErrorBarSettings barsSettings = new ScatterErrorBarSettings(); barsSettings.EnableErrorBarsHorizontal = EnableErrorBars.Both; barsSettings.HorizontalCalculator = new StandardErrorCalculator(); barsSettings.HorizontalCalculator.ItemsSource = series.ItemsSource; barsSettings.HorizontalCalculator.ValueMemberPath = "X"; // ... series.ErrorBarSettings = barsSettings;
図 4 - 標準誤差範囲のある散布シリーズ
以下のコード リストは、ScatterSeries 上の標準偏差誤差範囲を表示する方法を示します。
XAML の場合:
<ig:ScatterSeries.ErrorBarSettings>
<ig:ScatterErrorBarSettings EnableErrorBarsVertical="Both" >
<ig:ScatterErrorBarSettings.VerticalCalculator>
<igCalc:StandardDeviationCalculator ItemsSource="{StaticResource ScatterData}" ValueMemberPath="Y" />
</ig:ScatterErrorBarSettings.VerticalCalculator>
</ig:ScatterErrorBarSettings>
</ig:ScatterSeries.ErrorBarSettings>
Visual Basic の場合:
Imports Infragistics.Controls.Charts Imports Infragistics.Math.Calculators '... Dim series As New ScatterSeries() '... Dim barsSettings As New ScatterErrorBarSettings() barsSettings.EnableErrorBarsVertical = EnableErrorBars.Both barsSettings.VerticalCalculator = New StandardDeviationCalculator() barsSettings.VerticalCalculator.ItemsSource = series.ItemsSource barsSettings.VerticalCalculator.ValueMemberPath = "Y" '... series.ErrorBarSettings = barsSettings
C# の場合:
using Infragistics.Controls.Charts; using Infragistics.Math.Calculators; // ... ScatterSeries series = new ScatterSeries(); // ... ScatterErrorBarSettings barsSettings = new ScatterErrorBarSettings(); barsSettings.EnableErrorBarsVertical = EnableErrorBars.Both; barsSettings.VerticalCalculator = new StandardDeviationCalculator(); barsSettings.VerticalCalculator.ItemsSource = series.ItemsSource; barsSettings.VerticalCalculator.ValueMemberPath = "Y"; // ... series.ErrorBarSettings = barsSettings;
図 5 - 標準偏差誤差範囲のある散布シリーズ
以下のコード リストは、ScatterSeries 上のカスタム データ誤差範囲を表示する方法を示します。カスタム データ誤差範囲の値は、DataCalculator の ItemsSource プロパティにバインドされるデータ セットによって提供されます。
Visual Basic の場合:
Imports System.Collections.ObjectModel
'...
Public Class ErrorBarDataSample
Inherits ErrorBarDataCollection
Public Sub New()
Me.New(0.1, 100)
End Sub
Public Sub New(variable As Double, items As Integer)
Dim value As Double = 0
For i As Integer = 0 To items – 2
Dim dataPoint As New ErrorBarDataPoint()
dataPoint.Value = value
Me.Add(dataPoint)
If i < (items / 2) Then
value += variable
Else
value -= variable
End If
Next
End Sub
End Class
Public Class ErrorBarDataCollection
Inherits ObservableCollection(Of ErrorBarDataPoint)
End Class
Public Class ErrorBarDataPoint
Public Property Value() As Double
Get
Return value
End Get
Set
_value = Value
End Set
End Property
Private value As Double
End Class
C# の場合:
using System.Collections.ObjectModel;
// ...
public class ErrorBarDataSample : ErrorBarDataCollection
{
public ErrorBarDataSample(): this(0.1, 100)
{ }
public ErrorBarDataSample(double variable, int items)
{
double value = 0;
for (int i = 0; i < items - 1; i++)
{
ErrorBarDataPoint dataPoint = new ErrorBarDataPoint();
dataPoint.Value = value;
this.Add(dataPoint);
if (i < (items / 2)) value += variable; else value -= variable;
}
}
}
public class ErrorBarDataCollection : ObservableCollection<ErrorBarDataPoint>
{ }
public class ErrorBarDataPoint
{
public double Value { get; set; }
}
XAML の場合:
<ig:ScatterSeries.ErrorBarSettings>
<ig:ScatterErrorBarSettings EnableErrorBarsVertical="Both" >
<ig:ScatterErrorBarSettings.VerticalCalculator>
<igCalc:DataCalculator ItemsSource="{StaticResource ErrorBarData}" ValueMemberPath="Value" />
</ig:ScatterErrorBarSettings.VerticalCalculator>
</ig:ScatterErrorBarSettings>
</ig:ScatterSeries.ErrorBarSettings>
Visual Basic の場合:
Imports Infragistics.Controls.Charts Imports Infragistics.Math.Calculators '... Dim series As New ScatterSeries() '... Dim errorBarsData As New ErrorBarDataSample(1.5, 100) Dim barsSettings As New ScatterErrorBarSettings() barsSettings.EnableErrorBarsVertical = EnableErrorBars.Both barsSettings.VerticalCalculator = New DataCalculator() barsSettings.VerticalCalculator.ItemsSource = errorBarsData barsSettings.VerticalCalculator.ValueMemberPath = "Value" '... series.ErrorBarSettings = barsSettings
C# の場合:
using Infragistics.Controls.Charts; using Infragistics.Math.Calculators; // ... ScatterSeries series = new ScatterSeries(); // ... ErrorBarDataSample errorBarsData = new ErrorBarDataSample(1.5, 100); ScatterErrorBarSettings barsSettings = new ScatterErrorBarSettings(); barsSettings.EnableErrorBarsVertical = EnableErrorBars.Both; barsSettings.VerticalCalculator = new DataCalculator(); barsSettings.VerticalCalculator.ItemsSource = errorBarsData; barsSettings.VerticalCalculator.ValueMemberPath = "Value"; // ... series.ErrorBarSettings = barsSettings;
図 6 - カスタム データ誤差範囲のある散布シリーズ