Pie Chart コントロールの基本データに、小さい値を含む多くの項目が含まれる場合があります。この場合、Others カテゴリは、単一スライスへの複数のデータ値の自動集計を許可します。
以下は最終結果のプレビューです。
図 1: サンプル コードによって実装された Others カテゴリを備える円チャート
このトピックは、ユーザーが データ バインディングトピックを既に読んでいることを前提とし、開始点としてその中のコードを使用します。
データ モデルの定義。
円チャートの DataSource として Data クラスのインスタンスを構成
Others カテゴリ の構成
(オプション) 結果の検証
データ モデルを定義 します。
DataItem と呼ばれるシンプルなデータ モデルを定義します。次に、相対的に小さい値の複数の DataItems を含む Data コレクションを定義します。
C# の場合:
public class DataItem
{
public string Label { get; set; }
public double Value { get; set; }
}
public class Data : ObservableCollection<DataItem>
{
public Data()
{
Add(new DataItem { Label = "Item 1", Value = 5 });
Add(new DataItem { Label = "Item 2", Value = 6 });
Add(new DataItem { Label = "Item 3", Value = 3 });
Add(new DataItem { Label = "Item 4", Value = 7 });
Add(new DataItem { Label = "Item 5", Value = 1 });
Add(new DataItem { Label = "Item 6", Value = 1 });
Add(new DataItem { Label = "Item 7", Value = 1 });
Add(new DataItem { Label = "Item 8", Value = 1 });
Add(new DataItem { Label = "Item 9", Value = 1 });
}
}
Visual Basic の場合:
Public Class DataItem
Public Property Label() As String
Get
Return _Label
End Get
Set
_Label = Value
End Set
End Property
Private _Label As String
Public Property Value() As Double
Get
Return _Value
End Get
Set
_Value = Value
End Set
End Property
Private _Value As Double
End Class
Public Class Data
Inherits ObservableCollection(Of DataItem)
Public Sub New()
Add(New DataItem() With { .Label = "Item 1", .Value = 5 })
Add(New DataItem() With { .Label = "Item 2", .Value = 6 })
Add(New DataItem() With { .Label = "Item 3", .Value = 3 })
Add(New DataItem() With { .Label = "Item 4", .Value = 7 })
Add(New DataItem() With { .Label = "Item 5", .Value = 1 })
Add(New DataItem() With { .Label = "Item 6", .Value = 1 })
Add(New DataItem() With { .Label = "Item 7", .Value = 1 })
Add(New DataItem() With { .Label = "Item 8", .Value = 1 })
Add(New DataItem() With { .Label = "Item 9", .Value = 1 })
End Sub
End Class
円チャートの DataSource として Data クラスのインスタンスを構成します。
C# の場合:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
UltraPieChart pieChart;
UltraLabel ultraLabel1;
UltraItemLegend legend;
private void Form1_Load(object sender, EventArgs e)
{
pieChart = new UltraPieChart
{
Dock = DockStyle.Left,
LabelMemberPath = "Label",
ValueMemberPath = "Value",
DataSource = new Data(),
};
this.Controls.Add(pieChart);
ultraLabel1 = new UltraLabel
{
Name = "ultraLabel1",
Dock = DockStyle.Right,
Text = ""
};
this.Controls.Add(ultraLabel1);
this.ultraLabel1.BringToFront();
legend = new UltraItemLegend
{
Dock = DockStyle.Right,
Height = 500
};
this.Controls.Add(legend);
this.pieChart.Legend = legend;
this.legend.BringToFront();
}
VB の場合:
Partial Public Class Form1
Inherits Form
Public Sub New()
InitializeComponent()
End Sub
Private pieChart As UltraPieChart
Private ultraLabel1 As UltraLabel
Private legend As UltraItemLegend
Private Sub Form1_Load(sender As Object, e As EventArgs)
pieChart = New UltraPieChart() With { _
.Dock = DockStyle.Left, _
.LabelMemberPath = "Label", _
.ValueMemberPath = "Value", _
.DataSource = New Data() _
}
Me.Controls.Add(pieChart)
ultraLabel1 = New UltraLabel() With { _
.Name = "ultraLabel1", _
.Dock = DockStyle.Right, _
.Text = "" _
}
Me.Controls.Add(ultraLabel1)
Me.ultraLabel1.BringToFront()
legend = New UltraItemLegend() With { _
.Dock = DockStyle.Right, _
.Height = 500 _
}
Me.Controls.Add(legend)
Me.pieChart.Legend = legend
Me.legend.BringToFront()
End Sub
End Class
円チャートは図 2 として表示します。
図 2: Others カテゴリを構成する前の円チャート
Others カテゴリを構成します。
項目の 5~9 は非常に小さく、雑然とした外観のチャートになります。UltraPieChart の OthersCategoryThreshold、 OthersCategoryType、および OthersCategoryText プロパティを使用して、Others カテゴリにこれらの項目を割り当てます。
C# の場合:
pieChart.OthersCategoryThreshold = 2; pieChart.OthersCategoryType = OthersCategoryType.Number; pieChart.OthersCategoryText = "Others";
VB の場合:
pieChart.OthersCategoryThreshold = 2 pieChart.OthersCategoryType = OthersCategoryType.Number pieChart.OthersCategoryText = "Others"
OthersCategoryThreshold は 2 に設定、OthersCategoryType は Number に設定されています。したがって、2 以下の値を含む項目は、Others カテゴリに割り当てられます。
(オプション) 結果を確認します。
アプリケーションを実行します。上記の円チャートは図 1 として表示します。