バージョン

チャート強調表示フィルター

このトピックは、コード例を示して、データ強調表示機能を UltraCategoryChart コントロールで使用する方法を説明します。

UltraCategoryChart での強調表示フィルターの使用

UltraCategoryChart の強調表示フィルター機能により、列シリーズおよびエリア シリーズ タイプの場合は不透明度を下げて全体セットが表示され、線シリーズ タイプの場合は破線が表示されることで、データのサブセットが強調表示されます。

UltraCategoryChart の強調表示フィルターを有効にするには、チャートに InitialHighlightFilter を提供する必要があります。通常、これを行うには、チャートの InitialGroups プロパティにも値を指定する必要があります。これにより、データ内のメンバー パスを取得してデータをグループ化し、以下で説明する式に基づいてフィルターできるようになります。

InitialHighlightFilter プロパティは、フィルター演算子が省略された OData フィルター構文に似た構文を使用します。たとえば、「Country not equals USA」 というフィルターを適用しようとしている場合、プロパティを設定するときは 「Country ne 'USA'」 になります。

以下は、次のデータ ソースを使用して UK の月ごとの販売数をフィルターで除外する簡単な例です。

C# の場合:

    public class SalesItem
    {
        public double Value { get; set; }
        public string Month { get; set; }
        public string Country { get; set; }

    }

    public class SalesItemData : List<SalesItem>
    {
        Random r = new Random();
        public SalesItemData()
        {
            this.Add(new SalesItem() { Month = "January", Country = "USA", Value = r.Next(500, 1000) });
            this.Add(new SalesItem() { Month = "January", Country = "Japan", Value = r.Next(500, 1000) });
            this.Add(new SalesItem() { Month = "January", Country = "UK", Value = r.Next(500, 1000) });

            this.Add(new SalesItem() { Month = "February", Country = "USA", Value = r.Next(500, 1000) });
            this.Add(new SalesItem() { Month = "February", Country = "Japan", Value = r.Next(500, 1000) });
            this.Add(new SalesItem() { Month = "February", Country = "UK", Value = r.Next(500, 1000) });

            this.Add(new SalesItem() { Month = "March", Country = "USA", Value = r.Next(500, 1000) });
            this.Add(new SalesItem() { Month = "March", Country = "Japan", Value = r.Next(500, 1000) });
            this.Add(new SalesItem() { Month = "March", Country = "UK", Value = r.Next(500, 1000) });

            this.Add(new SalesItem() { Month = "April", Country = "USA", Value = r.Next(500, 1000) });
            this.Add(new SalesItem() { Month = "April", Country = "Japan", Value = r.Next(500, 1000) });
            this.Add(new SalesItem() { Month = "April", Country = "UK", Value = r.Next(500, 1000) });

            this.Add(new SalesItem() { Month = "May", Country = "USA", Value = r.Next(500, 1000) });
            this.Add(new SalesItem() { Month = "May", Country = "Japan", Value = r.Next(500, 1000) });
            this.Add(new SalesItem() { Month = "May", Country = "UK", Value = r.Next(500, 1000) });

            this.Add(new SalesItem() { Month = "June", Country = "USA", Value = r.Next(500, 1000) });
            this.Add(new SalesItem() { Month = "June", Country = "Japan", Value = r.Next(500, 1000) });
            this.Add(new SalesItem() { Month = "June", Country = "UK", Value = r.Next(500, 1000) });
        }
    }

C# の場合:

UltraCategoryChart chart = new UltraCategoryChart()
{
    ItemsSource = new SalesItemData(),
    InitialGroups = "Month",
    ChartType = CategoryChartType.Column,
    InitialHighlightFilter = "Country ne 'UK'",
    HighlightedValuesDisplayMode = SeriesHighlightedValuesDisplayMode.Overlay,
    YAxisMinimumValue = 0
};