mcpField
S
syncfusion-angular-treemap

syncfusion-angular-treemap

github.com/syncfusionデータ・データベース0262 回インストール1 週間前に更新
リポジトリ

syncfusion-angular-treemap について

Angular で Syncfusion TreeMap を構築するためのガイドです。データ値で大きさが決まる階層矩形と、色分け、ドリルダウン、操作設定を説明します。

主な機能

  1. 01階層データのバインドとグループ化
  2. 02値に応じた矩形サイズ
  3. 03複数の色分け方式
  4. 04パンくずナビゲーション付きドリルダウン
  5. 05ラベル、ツールチップ、凡例、選択
  6. 06印刷、エクスポート、アクセシビリティ設定

活用シーン

  1. 01地域や製品カテゴリの比較
  2. 02親子データ階層の探索
  3. 03規模別の市場セグメント表示
  4. 04階層型ビジュアライゼーションのエクスポート

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/syncfusion/angular-ui-components-skills --skill syncfusion-angular-treemap

インストール後、Claude Code で/syncfusion-angular-treemapを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
api-reference.md
color-mapping.md
data-binding.md
drilldown-and-navigation.md
getting-started.md
internationalization.md
labels-tooltips-legend.md
levels-and-layout.md
print-export-accessibility.md
selection-interactivity.md

詳細

Syncfusion Angular TreeMap の実装

TreeMap コンポーネントは、階層データやグループ化されたデータを入れ子状の長方形として可視化します。各長方形はデータ項目を表し、そのサイズは weightValuePath を通じて数値フィールドにマッピングされます。TreeMap は、製品カテゴリ、地域別内訳、市場セグメントなど、相対的な規模が重要となるグループ化されたデータセットの表示に役立ちます。

このスキルを使用する場面

  • 階層データの可視化:地域、部門、製品カテゴリなどのグループ化されたデータや複数レベルのデータを表示します
  • 複数レベルのデータ可視化:levels と groupPath を使用して親子関係を表示します
  • ドリルダウンインターフェイスの作成:階層レベル間のインタラクティブな移動を可能にします
  • データの色分け:範囲、均等、彩度低下、パレット、または直接的な色のバインドを使用します
  • インタラクティブ機能の追加:選択、ハイライト、クリック、ダブルクリック、右クリックの操作を実装します
  • 外観のカスタマイズ:レイアウト、色、境界線、ラベル、ヘッダー、凡例、テンプレートを変更します
  • 補足情報の表示:ラベル、ツールチップ、凡例、書式設定された値を追加します
  • 可視化のエクスポート:PNG、JPEG、SVG、または PDF として印刷またはエクスポートします
  • 国際化への対応:RTL、ロケール固有の数値書式、カルチャに応じた表示を有効にします
  • アクセシビリティ:スクリーンリーダーのサポート、ARIA の命名、コントラスト、フォーカスの動作を改善します

ドキュメントとナビゲーションガイド

目的に応じて、参照先を選択してください。

API リファレンス

📄 参照先: references/api-reference.md

はじめに

📄 参照先: references/getting-started.md

  • インストールと npm パッケージのセットアップ
  • TreeMapModule のインポート
  • 最初の TreeMap コンポーネントの作成
  • テーマとスタイルの設定
  • シンプルなデータを使用した基本的なコンポーネント
データバインディング

📄 参照先: references/data-binding.md

  • フラットなコレクションのバインド
  • levels を使用したデータのグループ化
  • データソースのプロパティと TreeMap フィールドのマッピング
  • 項目のサイズ設定のための weightValuePath の構成
  • 動的なデータ更新と状態駆動型バインディング
色のマッピング

📄 参照先: references/color-mapping.md

  • 数値向けの範囲色マッピング
  • カテゴリ別の色分けに使用する均等色マッピング
  • 不透明度を使用した彩度低下の色マッピング
  • パレットベースの色分け
  • colorValuePath による直接的な色のバインド
  • leafItemSettings.colorMapping によるグラデーションカラー
ドリルダウンとナビゲーション

📄 参照先: references/drilldown-and-navigation.md

  • ドリルダウン機能の有効化
  • levels を使用した親子間のナビゲーション
  • drillDownView の動作
  • パンくずナビゲーション
  • ドリルイベント(drillStart、drillEnd)
  • 必要に応じて、アプリケーションの状態を通じてルートにリセット
レベルとレイアウト

📄 参照先: references/levels-and-layout.md

  • 複数の階層レベルの構成
  • groupPath とグループ化されたレンダリング
  • レイアウトタイプ(Squarified、SliceAndDiceVertical、SliceAndDiceHorizontal、SliceAndDiceAuto)
  • グループ間隔とリーフの間隔
  • ヘッダーの書式設定とスタイル設定
  • ヘッダーテンプレートとヘッダーのサイズ設定
ラベル、ツールチップ、凡例

📄 参照先: references/labels-tooltips-legend.md

  • データラベルの構成と書式設定
  • ラベルテンプレートとテンプレートの配置
  • ラベルの重なりとオーバーフローへの対処
  • ツールチップの表示と書式設定
  • カスタムツールチップテンプレート
  • 凡例の表示と構成
  • 凡例と色のマッピング、選択、ハイライトの連携
選択とインタラクティブ操作

📄 参照先: references/selection-interactivity.md

  • 選択とハイライトの有効化
  • 選択色と境界線のカスタマイズ
  • 凡例による選択とホバー操作
  • クリック、項目選択、ダブルクリック、右クリックのイベント
  • selectItem(...) によるプログラムからの選択
  • アプリケーションの状態で単一項目または複数項目のワークフローを管理
印刷、エクスポート、アクセシビリティ

📄 参照: references/print-export-accessibility.md

  • 印刷機能
  • 画像エクスポート(PNG、JPEG、SVG)
  • 向きのオプションを指定した PDF エクスポート
  • Base64 エクスポートの処理
  • WCAG アクセシビリティ対応
  • スクリーンリーダー対応と ARIA ラベル
  • コントラストとフォーカスに関する考慮事項
国際化

📄 参照: references/internationalization.md

  • 右から左(RTL)へのレンダリング
  • ロケール設定と数値の書式設定
  • ラベルとツールチップのグローバル化
  • レンダリング方向の設定
  • 多言語データバインディング
  • setCulture() と setCurrencyCode() による文化的なカスタマイズ

クイックスタート

import { Component, signal } from '@angular/core';
import { TreeMapModule } from '@syncfusion/ej2-angular-treemap';

@Component({
  selector: 'app-treemap',
  standalone: true,
  imports: [TreeMapModule],
  template: `
    <ejs-treemap
      id="treemap-container"
      [dataSource]="data()"
      weightValuePath="Size"
      [levels]="levels"
      [leafItemSettings]="leafItemSettings">
    </ejs-treemap>
  `,
  styles: [`
    #treemap-container {
      display: block;
      width: 100%;
      height: 500px;
    }
  `]
})
export class TreeMapComponent {
  public data = signal([
    { Category: 'Electronics', Item: 'Laptops', Size: 150 },
    { Category: 'Electronics', Item: 'Phones', Size: 200 },
    { Category: 'Furniture', Item: 'Chairs', Size: 100 },
    { Category: 'Furniture', Item: 'Tables', Size: 120 }
  ]);

  public levels = [
    { groupPath: 'Category' }
  ];

  public leafItemSettings = {
    labelPath: 'Item',
    gap: 4,
    border: { color: '#ffffff', width: 1 }
  };
}

一般的なパターン

パターン 1:基本的な階層型の可視化

levels と groupPath を使用して、グループ化された階層データを表示します。

public levels = [
  { groupPath: 'Region', headerFormat: '${Region}' },
  { groupPath: 'Country', headerFormat: '${Country}' }
];

public leafItemSettings = {
  labelPath: 'Country'
};
パターン 2:値に基づく色分け

rangeColorValuePath と leafItemSettings.colorMapping を使用して、範囲に基づく色分けを行います。

<ejs-treemap
  [dataSource]="data()"
  weightValuePath="Value"
  rangeColorValuePath="Value"
  [leafItemSettings]="leafItemSettings">
</ejs-treemap>
public leafItemSettings = {
  labelPath: 'Name',
  colorMapping: [
    { from: 0, to: 50, color: '#3498db' },
    { from: 50, to: 100, color: '#e74c3c' }
  ]
};
パターン 3:インタラクティブなドリルダウン

パンくずナビゲーションを有効にして、グループ化された階層をたどれるようにします。

<ejs-treemap
  [dataSource]="data()"
  weightValuePath="Value"
  [enableDrillDown]="true"
  [enableBreadcrumb]="true"
  breadcrumbConnector=" / "
  [levels]="levels"
  [leafItemSettings]="leafItemSettings">
</ejs-treemap>

主なプロパティと設定

プロパティ型用途
dataSourceobject[]TreeMap アイテムのデータコレクション
weightValuePathstring各アイテムのサイズに使用する数値フィールド
leafItemSettingsobjectラベル、境界線、テンプレート、色分けなどのリーフアイテム設定
levelsobject[]groupPath とヘッダー設定を使用した階層設定
layoutType'Squarified' | 'SliceAndDiceVertical' | 'SliceAndDiceHorizontal' | 'SliceAndDiceAuto'矩形の配置アルゴリズム
colorValuePathstringアイテムの色を直接割り当てるために使用するデータフィールド
equalColorValuePathstringカテゴリに基づく色分けに使用するデータフィールド
rangeColorValuePathstring数値範囲に基づく色分けに使用するデータフィールド
enableDrillDownbooleanグループ化された階層をたどるドリルダウンナビゲーションを有効にします
enableBreadcrumbbooleanドリルダウン中にパンくずナビゲーションを表示します
legendSettingsobject凡例の表示とスタイルの設定
tooltipSettingsobjectツールチップの表示、書式設定、テンプレートの設定
selectionSettingsobject選択時の外観と動作の設定
highlightSettingsobjectホバー時のハイライト表示の設定
enableRtlboolean右から左へのレンダリングを有効にします
localestringコンポーネントのカルチャを上書きします
formatstringn2、c、p などの数値書式を適用します
useGroupingSeparatorbooleanカルチャに応じた数値の桁区切り記号を有効にします
allowPrintboolean印刷機能を有効にします
allowImageExportboolean画像エクスポート機能を有効にします
allowPdfExportbooleanPDF エクスポート機能を有効にします
descriptionstringコンポーネントの説明的なアクセシビリティテキストを追加します
tabIndexnumberTreeMap コンテナーのフォーカス順序を制御します

実装に関する注意事項

  • 単独で使用する Angular コンポーネントに特化する場合は、TreeMapModule を優先してください。
  • 対応する機能を有効にする場合に限り、TreeMapLegendService、TreeMapTooltipService、TreeMapSelectionService、TreeMapHighlightService、PrintService、ImageExportService、PdfExportService を使用してください。
  • 色分けには、leafItemSettings.colorMapping を設定し、必要に応じて equalColorValuePath または rangeColorValuePath と組み合わせてください。
  • プログラムから選択する場合は、サポートされていないヘルパーメソッドではなく、selectItem(levelOrder, isSelected?) を使用してください。
  • アクセシビリティには、TreeMap に組み込まれた ARIA 対応、意味のあるタイトル、ラベル、凡例、説明、十分な色のコントラストを活用してください。
  • キーボード操作や高度なインタラクションのワークフローでは、文書化されていない TreeMap の追加キーボード API があると想定せず、必要に応じて周囲に Angular コントロールを用意してください。

コメント