mcpField
S
syncfusion-winforms-chart

syncfusion-winforms-chart

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

syncfusion-winforms-chart について

Windows Forms 開発者向けに、Syncfusion ChartControl の実装方法を解説します。多様なチャート、データバインディング、操作機能、エクスポートを扱います。

主な機能

  1. 0135 種類以上のチャート
  2. 02複数データソースへのバインド
  3. 03複数シリーズと軸の設定
  4. 04ズーム、パン、ツールチップ
  5. 05PDF、Office 文書、画像への出力

活用シーン

  1. 01売上推移や比較の表示
  2. 02金融市場データの可視化
  3. 03統計分析チャートの作成
  4. 04時系列の監視データの描画

インストール

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

$npx skills add https://github.com/syncfusion/winforms-ui-components-skills --skill syncfusion-winforms-chart

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

同梱ファイル

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

references/
appearance-styling.md
axes-configuration.md
chart-area.md
chart-events.md
chart-series.md
chart-title.md
chart-types.md
data-labels-tooltips.md
data-population.md
exporting-printing.md
getting-started.md
legend-configuration.md
localization.md
performance-optimization.md
runtime-features.md
statistical-formulas.md
troubleshooting.md

詳細

Syncfusion Windows Forms Charts の実装

Essential Chart for Windows Forms は、業務アプリケーション向けに 35 種類以上のチャートタイプをサポートする包括的なチャートコントロールです。豊富なカスタマイズ機能、データバインディング、インタラクティブ機能、エクスポート機能を備えており、プレゼンテーション品質のチャートを作成できます。

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

次のことが必要な場合に、このスキルを使用してください。

  • Windows Forms アプリケーションであらゆる種類のチャートを作成する
  • 折れ線、エリア、横棒、縦棒、円、金融チャートでデータを可視化する
  • ズーム、パン、ツールチップを備えたインタラクティブなチャートを実装する
  • DataSet、DataTable、カスタムデータソースからチャートデータをバインドする
  • チャートの軸、凡例、タイトル、外観を設定する
  • チャートを PDF、Excel、Word、画像にエクスポートする
  • チャートに統計分析や数式を追加する
  • チャートのスタイルや色をカスタマイズする

コンポーネントの概要

ChartControl は、次の機能を提供する主要なコンポーネントです。

  • 35 種類以上のチャートタイプ: エリア、横棒、バブル、ローソク足、縦棒、複合、ファネル、ガント、ヒストグラム、折れ線、円、ピラミッドなど
  • 柔軟なデータバインディング: DataSet、DataTable、DataView、インターフェイスを介したカスタムモデル
  • 複数系列のサポート: 異なるタイプの複数のデータ系列を重ねて表示
  • 高度な軸: 主軸/副軸、DateTime のサポート、対数目盛、カスタム間隔
  • 豊富なカスタマイズ: スキン、パレット、フォント、グラデーション、影
  • インタラクティブ機能: ズーム、パン、ツールチップ、ヒットテスト、実行時の変更
  • エクスポート機能: PDF、Excel、Word、画像、プレビュー付き印刷
  • 統計サポート: 分析用の組み込み数式

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

はじめに

📄 参照: references/getting-started.md

  • アセンブリの配置と NuGet パッケージ
  • Windows Forms への ChartControl の追加
  • BindingList を使った基本的なデータの設定
  • デザイン時の ChartWizard の設定
  • 最初のチャートの例
チャートタイプ

📄 参照: references/chart-types.md

  • 使用可能な 35 種類以上のチャートタイプの概要
  • チャートタイプのカテゴリとユースケース
  • タイプごとの Y 値の要件
  • Type プロパティによるチャートタイプの設定
  • タイプ固有の設定
データの設定

📄 参照: references/data-population.md

  • DataSet、DataTable、DataView のバインド
  • ChartDataBindModel と CategoryAxisDataBindModel
  • IChartSeriesModel を介したカスタムデータモデル
  • 大規模データセットのパフォーマンス最適化
チャート系列

📄 参照: references/chart-series.md

  • ChartSeries の作成と追加
  • データポイント用の ChartPoint クラス
  • X 値と Y 値の管理
  • 系列のスタイル設定とカスタマイズ
  • 複数系列の設定
軸の設定

📄 参照: references/axes-configuration.md

  • 主軸と副軸(PrimaryXAxis、PrimaryYAxis)
  • 軸の値のタイプ(Double、DateTime、Category、Logarithmic)
  • 範囲と間隔の設定
  • カスタムラベルの書式設定と配置
  • 複数軸のサポート
チャート領域

📄 参照: references/chart-area.md

  • チャート領域のプロパティとレイアウト
  • 背景、境界線、余白
  • 内部のカスタマイズ
  • 影の効果
外観とスタイル設定

📄 参照: references/appearance-styling.md

  • 組み込みスキン(Metro、Office など)
  • カラーパレットと CustomPalette
  • グラデーションと単色のスタイル
  • フォントとテキストの書式設定
  • 高度なスタイル設定のための BrushInfo
凡例の設定

📄 参照: references/legend-configuration.md

  • 凡例の有効化と配置
  • LegendPosition と LegendAlignment
  • 内側または外側への配置
  • カスタム凡例項目
  • 複数の凡例
チャートタイトル

📄 参照: references/chart-title.md

  • ChartTitle オブジェクトの追加
  • タイトルのテキストと配置
  • フォントと外観のカスタマイズ
  • 複数タイトルのサポート
データラベルとツールチップ

📄 参照: references/data-labels-tooltips.md

  • データラベルの有効化(DisplayText)
  • ラベルの書式設定と向き
  • ツールチップの設定(ShowToolTips)
  • PrepareStyle イベントによるカスタムツールチップの内容
  • 外観のカスタマイズ
ランタイム機能

📄 参照: references/runtime-features.md

  • ズームとパンの機能
  • グラフ領域のヒットテスト
  • インタラクティブな操作
  • データの動的な更新
  • ランタイムでの系列の変更
グラフイベント

📄 参照: references/chart-events.md

  • ChartControl と系列のイベント
  • カスタマイズ用の PrepareStyle イベント
  • マウスとインタラクションのイベント
  • グラフ領域のクリックイベント
  • イベント処理のパターン
エクスポートと印刷

📄 参照: references/exporting-printing.md

  • PDF、Excel、Word へのエクスポート
  • 画像のエクスポート(PNG、BMP、JPEG)
  • 印刷と印刷プレビュー
  • 複数ページ印刷の設定
統計数式

📄 参照: references/statistical-formulas.md

  • 組み込みの統計関数
  • 平均、標準偏差、分散
  • 分布、T 検定、F 検定、Z 検定
  • 系列データへの数式の適用
パフォーマンスの最適化

📄 参照: references/performance-optimization.md

  • 大規模なデータセットの処理方法
  • データバインディングのパフォーマンス
  • 描画の最適化
  • メモリ管理のベストプラクティス
ローカライズ

📄 参照: references/localization.md

  • グラフのテキストとラベルのローカライズ
  • 文化圏に応じた書式設定
  • リソースファイルの設定
  • 日付と数値の書式設定
トラブルシューティング

📄 参照: references/troubleshooting.md

  • よくある問題と解決策
  • データ表示の問題
  • パフォーマンスの問題
  • デザイン時の設定に関する問題

クイックスタートの例

using Syncfusion.Windows.Forms.Chart;
using System.ComponentModel;

// Create a simple data model
public class SalesData
{
    public string Year { get; set; }
    public double Sales { get; set; }
    
    public SalesData(string year, double sales)
    {
        this.Year = year;
        this.Sales = sales;
    }
}

// Populate data
BindingList<SalesData> dataSource = new BindingList<SalesData>();
dataSource.Add(new SalesData("2020", 30));
dataSource.Add(new SalesData("2021", 45));
dataSource.Add(new SalesData("2022", 60));
dataSource.Add(new SalesData("2023", 75));

// Create data model for binding
CategoryAxisDataBindModel dataModel = new CategoryAxisDataBindModel(dataSource);
dataModel.CategoryName = "Year";
dataModel.YNames = new string[] { "Sales" };

// Create and configure series
ChartSeries series = new ChartSeries("Sales");
series.Type = ChartSeriesType.Column;
series.CategoryModel = dataModel;
series.Style.DisplayText = true;

// Configure chart
chartControl1.PrimaryXAxis.ValueType = ChartValueType.Category;
chartControl1.Series.Add(series);
chartControl1.Skins = Skins.Metro;

// Add title
ChartTitle title = new ChartTitle();
title.Text = "Sales Performance";
chartControl1.Titles.Add(title);

// Configure legend
chartControl1.Legend.Visible = true;
chartControl1.LegendAlignment = ChartAlignment.Center;
chartControl1.Legend.Position = ChartDock.Bottom;

よくあるパターン

パターン 1:種類の異なる複数の系列
// Sales as columns
ChartSeries salesSeries = new ChartSeries("Sales");
salesSeries.Type = ChartSeriesType.Column;
salesSeries.Points.Add(1, 100);
salesSeries.Points.Add(2, 150);
salesSeries.Points.Add(3, 120);

// Target as line
ChartSeries targetSeries = new ChartSeries("Target");
targetSeries.Type = ChartSeriesType.Line;
targetSeries.Points.Add(1, 110);
targetSeries.Points.Add(2, 130);
targetSeries.Points.Add(3, 140);

chartControl1.Series.Add(salesSeries);
chartControl1.Series.Add(targetSeries);
パターン 2:日付データを使用する DateTime 軸
ChartSeries series = new ChartSeries("Temperature");
series.Type = ChartSeriesType.Line;

// Add points with DateTime X values
series.Points.Add(new DateTime(2024, 1, 1), 18.5);
series.Points.Add(new DateTime(2024, 1, 2), 19.2);
series.Points.Add(new DateTime(2024, 1, 3), 17.8);

// Configure X axis for DateTime
chartControl1.PrimaryXAxis.ValueType = ChartValueType.DateTime;
chartControl1.PrimaryXAxis.DateTimeFormat = "dd/MM/yyyy";
chartControl1.Series.Add(series);
パターン 3:カスタムツールチップ
chartControl1.ShowToolTips = true;
chartSeries.PrepareStyle += (sender, args) =>
{
    ChartSeries series = sender as ChartSeries;
    ChartPoint point = series.Points[args.Index];
    args.Style.ToolTip = $"Value: {point.YValues[0]:N2}";
};
パターン 4:グラフを PDF にエクスポート
// Export to PDF
chartControl1.SaveImage("chart.pdf");

// Export to image
chartControl1.SaveImage("chart.png");

主なプロパティ

ChartControl:

  • Series - 表示する ChartSeries のコレクション
  • PrimaryXAxis、PrimaryYAxis - 主軸の設定
  • Legend - 凡例の表示と外観
  • Titles - グラフタイトルのコレクション
  • ShowToolTips - インタラクティブなツールチップを有効化

ChartSeries:

  • Type - グラフの種類(Column、Line、Pie など)
  • Points - データポイントのコレクション
  • CategoryModel - データバインディングモデル
  • Style - 外観の設定
  • Text - 系列の表示名

ChartAxis:

  • ValueType - データ型(Double、DateTime、Category など)
  • Range - 最小値/最大値
  • Interval - ラベル間の間隔
  • Title - 軸タイトルのテキスト

よくある使用例

  1. 売上ダッシュボード: 複数の系列を使用した、売上の傾向を示す縦棒グラフ/折れ線グラフ
  2. 財務分析: 株価データを視覚化するローソク足/OHLC グラフ
  3. 統計レポート: データ分布の分析に使用するヒストグラム、箱ひげ図
  4. パフォーマンス監視: 時系列データに DateTime 軸を使用した折れ線グラフ
  5. 比較グラフ: カテゴリの比較に使用する横棒グラフ
  6. データ分布: 割合の内訳に使用する円グラフ/ドーナツグラフ
  7. 科学データ: 相関分析に使用する散布図/バブルチャート
  8. プロジェクト管理: スケジュールを視覚化するガントチャート

関連スキル

コメント