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 として表示します。