mcpField
S
syncfusion-flutter-circular-charts

syncfusion-flutter-circular-charts

github.com/syncfusion開発254 回インストール17 週間前に更新
リポジトリ

syncfusion-flutter-circular-charts について

Syncfusion の Flutter `SfCircularChart` で、円グラフ、ドーナツグラフ、ラジアルバーを作るためのリファレンススキルです。外観、操作性、アクセシビリティ、エクスポートの設定を扱います。

主な機能

  1. 01円・ドーナツ・ラジアルバー系列
  2. 02データラベル、凡例、ツールチップ
  3. 03セグメント選択とタップ操作
  4. 04色、グラデーション、アニメーション
  5. 05PNG・PDFへのエクスポート
  6. 06アクセシビリティとRTL対応

活用シーン

  1. 01全体に占める割合の表示
  2. 02ラジアルバーによるカテゴリ比較
  3. 03チャートへのラベルや注釈の追加
  4. 04レポート向けチャートの出力

インストール

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

$npx skills add https://github.com/syncfusion/flutter-ui-components-skills --skill syncfusion-flutter-circular-charts

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

同梱ファイル

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

references/
accessibility-and-export.md
annotations-and-appearance.md
chart-types.md
data-labels.md
getting-started.md
legend-and-title.md
series-customization.md
tooltip-and-selection.md

詳細

Syncfusion Flutter Circular Charts の実装

SfCircularChart は、円グラフ、ドーナツグラフ、ラジアルバーチャートを描画するための Syncfusion の高性能 Flutter ウィジェットです。豊富なインタラクティブ機能(ツールチップ、選択、セグメントの切り離し)、美しいカスタマイズ機能(グラデーション、アニメーション、データラベル)を備え、すぐに利用できるアクセシビリティ機能も提供します。

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

  • ユーザーが全体に対する割合を示す円グラフを作成したい場合
  • ユーザーがリング状のグラフを作成したい場合 — 中央にコンテンツを配置することもできるドーナツグラフ
  • ユーザーが円弧でカテゴリを比較するラジアルバーチャートを作成したい場合
  • SfCircularChart、PieSeries、DoughnutSeries、RadialBarSeries に関する質問全般
  • セグメントの色、切り離し動作、小さなスライスのグループ化をカスタマイズする場合
  • コネクター線付きのデータラベルをスライスの内側または外側に追加する場合
  • 凡例、ツールチップ、選択、注釈を設定する場合
  • グラフを PNG または PDF としてエクスポートする場合
  • アクセシビリティや RTL レイアウトに対応する場合

コンポーネントの概要

SfCircularChart ウィジェットは、円形形式で比例データを表示するための高性能なグラフ作成ソリューションです。主に次の 3 種類のシリーズをサポートします。

  • PieSeries:データを円のセグメントとして表示する従来型の円グラフです。セグメントの切り離し、半円表示、小さなスライスのグループ化、データポイントごとの半径のカスタマイズ、各種インタラクションモードに対応しています。

  • DoughnutSeries:カスタマイズ可能な内半径を持つリング状のグラフです。中央に注釈を表示する場合に適しており、角の丸み、中央の浮き上がり効果、円グラフの全機能に対応しています。

  • RadialBarSeries:カスタマイズ可能なトラックを備えた円形の進捗状グラフです。最大値の設定、角のスタイル(フラット/丸み付き)、トラックの不透明度と色のカスタマイズ、円弧に沿ったデータラベルなどの機能があります。

すべてのシリーズタイプで、豊富なインタラクティブ機能(ツールチップ、選択、タップジェスチャー)、データラベルの詳細な配置設定(コネクター線付きの内側/外側)、凡例の設定、再生時間と遅延をカスタマイズできるアニメーション、グラデーション塗りつぶし(線形/スイープ/放射状)、画像シェーダー、空のポイントの処理、データの並べ替え、グラフの PNG/PDF 形式へのエクスポートに対応しています。このウィジェットは、アクセシビリティ機能、RTL サポート、色のマッピング、ポイントごとの色、注釈による幅広いカスタマイズも提供します。

クイックスタート

import 'package:syncfusion_flutter_charts/charts.dart';

class MyChart extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final List<ChartData> data = [
      ChartData('Jan', 35),
      ChartData('Feb', 28),
      ChartData('Mar', 34),
      ChartData('Apr', 32),
      ChartData('May', 40),
    ];

    return SfCircularChart(
      title: ChartTitle(text: 'Monthly Sales'),
      legend: Legend(isVisible: true),
      tooltipBehavior: TooltipBehavior(enable: true),
      series: <CircularSeries>[
        PieSeries<ChartData, String>(
          dataSource: data,
          xValueMapper: (ChartData d, _) => d.x,
          yValueMapper: (ChartData d, _) => d.y,
          dataLabelSettings: DataLabelSettings(isVisible: true),
          enableTooltip: true,
        ),
      ],
    );
  }
}

class ChartData {
  ChartData(this.x, this.y);
  final String x;
  final double y;
}

一般的なパターン

中央に注釈を配置したドーナツグラフ
SfCircularChart(
  annotations: <CircularChartAnnotation>[
    CircularChartAnnotation(
      widget: Text('62%', style: TextStyle(fontSize: 25)),
    ),
  ],
  series: <CircularSeries>[
    DoughnutSeries<ChartData, String>(
      dataSource: data,
      xValueMapper: (d, _) => d.x,
      yValueMapper: (d, _) => d.y,
      innerRadius: '60%',
    ),
  ],
)
トラックと丸みのある角を備えたラジアルバー
RadialBarSeries<ChartData, String>(
  dataSource: data,
  xValueMapper: (d, _) => d.x,
  yValueMapper: (d, _) => d.y,
  maximumValue: 100,
  cornerStyle: CornerStyle.bothCurve,
  useSeriesColor: true,
  trackOpacity: 0.3,
)
タップ時にセグメントを切り離す円グラフ
PieSeries<ChartData, String>(
  dataSource: data,
  xValueMapper: (d, _) => d.x,
  yValueMapper: (d, _) => d.y,
  explode: true,
  explodeIndex: 0,
  explodeGesture: ActivationMode.singleTap,
)

主なプロパティ

プロパティ対象用途
seriesSfCircularChartCircularSeries(Pie/Doughnut/RadialBar)のリスト
xValueMapperシリーズ各データポイントのカテゴリラベル
yValueMapperシリーズ各データポイントの数値
dataLabelSettingsシリーズデータラベルの表示とスタイル設定
legendSfCircularChart凡例の表示
tooltipBehaviorSfCircularChartツールチップの設定
annotationsSfCircularChartグラフ上にウィジェットを重ねて表示
radiusシリーズ外側のサイズを '80%' に設定(デフォルト)
innerRadiusDoughnut/RadialBar内側の穴のサイズ
explodePie/Doughnutタップ時にセグメントを切り離す機能を有効化
maximumValueRadialBarSeries円弧全体の基準値
paletteSfCircularChartグラフ全体に適用する色のリスト

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

はじめに

📄 参照: references/getting-started.md

  • パッケージのインストールと pubspec の設定
  • インポート文と初期化
  • PieSeries を使ったデータソースのバインド
  • タイトル、データラベル、凡例、ツールチップの追加
  • 実行可能な最小構成の完全なサンプル
グラフの種類(円グラフ、ドーナツグラフ、ラジアルバー)

📄 参照: references/chart-types.md

  • PieSeries — 半径、セグメントの切り離し、角度(半円)、小さなスライスのグループ化、スライスごとの半径
  • DoughnutSeries — 内半径、角の丸み、中央の浮き上がり効果、角度、グループ化
  • RadialBarSeries — 内半径、トラックのカスタマイズ、maximumValue、最大値を超えるバー、データラベル
シリーズのカスタマイズ

📄 参照: references/series-customization.md

  • アニメーションの時間と遅延
  • カラーパレットとポイントごとの色のマッピング
  • グラデーション塗りつぶし(線形、スイープ、放射状)
  • 画像シェーダーによる塗りつぶし
  • ポイントごとのシェーダーのマッピング
  • ポイントの描画モード(単色またはスイープグラデーション)
  • 空または null のデータポイントの処理
  • データポイントの並べ替え
データラベル

📄 参照: references/data-labels.md

  • データラベルの有効化とスタイル設定
  • 配置(内側または外側)
  • スマートなラベルレイアウト(重なりを回避)
  • 外側のラベル用のコネクター線
  • カスタムラベルテキスト(dataLabelMapper)
  • ラベルテンプレート(ビルダー)
  • 値がゼロのラベルを非表示にする
凡例とタイトル

📄 参照: references/legend-and-title.md

  • 凡例の有効化と外観のカスタマイズ
  • 凡例のタイトル、配置、向き
  • オーバーフローの処理(折り返し/スクロール)
  • カスタムオフセットで浮動する凡例
  • 凡例項目のテンプレート
  • グラフのタイトルとテキストのスタイル設定
ツールチップと選択

📄 参照: references/tooltip-and-selection.md

  • TooltipBehavior の有効化と設定
  • ツールチップの形式、配置、テンプレート
  • アクティベーションモード(singleTap、longPress、doubleTap)
  • SelectionBehavior によるセグメントの選択
  • 選択済み/未選択セグメントの外観のカスタマイズ
  • 複数選択
注釈と外観

📄 参照: references/annotations-and-appearance.md

  • グラフ内へのウィジェットの配置(CircularChartAnnotation)
  • 半径と配置による注釈の位置設定
  • 透かしパターン
  • グラフのサイズ、マージン、背景色、画像
アクセシビリティとエクスポート

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

  • アクセシビリティ(コントラスト、大きなフォント、タップ可能なターゲット)
  • RTL(右から左)レイアウトのサポート
  • グラフを PNG 画像としてエクスポート(toImage)
  • グラフを PDF としてエクスポート(syncfusion_flutter_pdf)

コメント