Pie Chart

Pie Chart は、セクションに分割された円形の領域で構成される、円チャートを表示するためのコンポーネントです。各セクションには、基本データ値に比例する円弧の長さがあります。

コンポーネントは分類したデータを表すために使用されます。カテゴリが少ない場合や各カテゴリが全体としてデータの相対的に大きなパーセンテージを構成する場合、これは最も効率的です。

デモ

依存関係

chart パッケージをインストールするときに core パッケージもインストールする必要があります。

npm install ignite-angular-charts ignite-angular-core

円チャートが NgModule としてエクスポートされるため、アプリケーションで AppModuleIgxPieChartModule をインポートする必要があります。

// app.module.ts
import { IgxPieChartModule } from 'ignite-angular-charts/ES5/igx-pie-chart-module';

@NgModule({
    imports: [
        ...
        IgxPieChartModule,
        ...
    ]
})
export class AppModule {}

使用方法

円チャート モジュールをインポートした後、チャートをデータにバインドします。 円チャート コンポーネントを作成するには、はじめにデータをバインドする必要があります。以下のコード スニペットは、シンプルなデータソースを作成する方法を示します。

var data = [
 { "Label": "Item1", "Value": 5 },
 { "Label": "Item2", "Value": 6 },
 { "Label": "Item3", "Value": 3 },
 { "Label": "Item4", "Value": 7 },
 { "Label": "Item5", "Value": 4 }
];

以下のコードは円チャートを上記のデータにバインドします。

 <igx-pie-chart [dataSource]="data"
                width="700px"
                height="500px"
                labelMemberPath="Label"
                valueMemberPath="Value">
 </igx-pie-chart>

構成可能な要素

凡例

円チャートの隣に凡例を表示するには、ItemLegend を作成し、Legend プロパティに割り当てます。legendLabelMemberPath は、各円スライスの凡例項目を表示するために使用するデータ モデルのプロパティを指定します。

また、凡例項目の外観をカスタマイズするために legendItemTemplatelegendItemBadgeTemplate プロパティ、多数のフォント プロパティを使用できます。

 <igx-pie-chart [dataSource]="data" 
                width="700px"
                height="500px"
                valueMemberPath="Value" 
                labelMemberPath="Label" 
                legendLabelMemberPath="Label"
                [legend]="PieChartLegend">
</igx-pie-chart>

その他の分類項目

Pie Chart コンポーネントの基本データに、小さい値を含む多くの項目が含まれる場合があります。この場合、Others カテゴリは、単一スライスへの複数のデータ値の自動集計を許可します。

以下のサンプルは、othersCategoryThreshold を 2 に設定、othersCategoryType は Number に設定されています。したがって、2 以下の値を含む項目は、Others カテゴリに割り当てられます。

注: othersCategoryType を Percent に設定すると、othersCategoryThreshold は値ではなくパーセンテージとして解釈されます。つまり、値がすべての項目の値の合計の 2% 未満である項目は、Others カテゴリに割り当てられます。使用しているアプリケーションに最も適切な othersCategoryType を使用できます。

 <igx-pie-chart [dataSource]="data"
                width="700px"
                height="500px"
                labelMemberPath="Label"
                valueMemberPath="Value"
                othersCategoryThreshold="2"
                othersCategoryType="Number"
                othersCategoryText="Others">
 </igx-pie-chart>

展開

円チャート コントロールは個々の円スライスの選択と展開だけでなく、選択状態を変更しカスタム ロジックを実装することを可能にする 'sliceClick' イベントをサポートします。

<igx-pie-chart [dataSource]="data"
               width="700px"
               height="500px"
               allowSliceExplosion="true"
               sliceClick="piechart_SliceClick">
</igx-pie-chart>

選択

デフォルトで、円チャートはマウス クリックによるスライス選択をサポートします。選択されたスライスは、selectedItems プロパティで取得します。選択したスライスがハイライトされます。

円チャートのモードは selectionMode プロパティで設定します。デフォルト値は single です。選択機能を無効化するためにはプロパティを manual に設定します。

円チャートは、選択モードを 3 つサポートします。

  • Single - single モードに設定すると、一度に 1 つのスライスのみ選択します。他のスライスを選択すると、最初に選択したスライスは選択解除され、新しいスライスが選択されます。
  • Multiple - Multiple モードに設定すると、一度に複数のスライスを選択します。スライスをクリックするとスライスが選択され、他のスライスをクリックすると、最初のスライスも、新しくクリックしたスライスも選択されます。
  • 手動 - Manual モードに設定すると、選択は無効化されます。

円チャートには、選択機能に関連する 4 つのイベントがあります。

  • SelectedItemChanging
  • SelectedItemChanged
  • SelectedItemsChanging
  • SelectedItemsChanged

「Changing」で終わるイベントはキャンセル可能なイベントです。すなわち、イベント引数プロパティ Cancel を true に設定することで、スライスの選択を停止します。True に設定すると、関連付けられたプロパティは更新されず、その結果スライスは選択されません。この設定はたとえば、スライスのデータによって一定のスライスの選択を無効化する場合に使用します。

「その他」スライスをクリックすると、pieSliceOthersContext オブジェクトが返されます。オブジェクトは、「その他」スライスに含まれるデータ項目のリストがあります。

<igx-pie-chart [dataSource]="data"
               width="700px"
               height="500px"
               selectionMode="multiple">
</igx-pie-chart>