Excel のレーダーグラフ(スパイダーグラフまたはウェブグラフとも呼ばれる)は、複数のデータ系列を異なるカテゴリで比較するために使用されます。このグラフではデータポイントを複数軸上にプロットすることで、データのバランスや偏りを直感的かつ明確に表現できます。そのため、パフォーマンス指標の可視化、市場分析、および多次元の比較が必要な状況に特に適しています。本記事では、C# で Spire.XLS for .NET を使用して Excel でレーダーグラフを作成する方法を解説します。
Spire.XLS for .NET をインストールします
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
C# で Excel に簡単なレーダーグラフを作成する
Spire.XLS for .NET は、Worksheet.Charts.Add(ExcelChartType.Radar) メソッドを提供しており、これを使用して Excel ワークシートに標準的なレーダーグラフを追加できます。以下は詳細な手順です。
- Workbook インスタンスを作成します。
- Workbook.Worksheets[sheetIndex] プロパティを使用して指定したワークシートを取得します。
- 指定したセルにグラフデータを追加し、セルのスタイルを設定します。
- Worksheet.Charts.Add(ExcelChartType.Radar) メソッドを使用して、ワークシートにシンプルなレーダーグラフを追加します。
- Chart.DataRange プロパティを設定して、グラフのデータ範囲を指定します。
- グラフの位置、凡例、タイトルを設定します。
- Workbook.SaveToFile() メソッドを使用して、結果をファイルに保存します。
- C#
using Spire.Xls;
using System.Drawing;
namespace ExcelRadarChart
{
class Program
{
static void Main(string[] args)
{
// Workbookのインスタンスを作成
Workbook workbook = new Workbook();
// 最初のワークシートを取得
Worksheet sheet = workbook.Worksheets[0];
// 指定したセルにグラフデータを追加
sheet.Range["A1"].Value = "評価";
sheet.Range["A2"].Value = "コミュニケーション";
sheet.Range["A3"].Value = "経験";
sheet.Range["A4"].Value = "作業効率";
sheet.Range["A5"].Value = "リーダーシップ";
sheet.Range["A6"].Value = "問題解決";
sheet.Range["A7"].Value = "チームワーク";
sheet.Range["B1"].Value = "ジョナサン";
sheet.Range["B2"].NumberValue = 4;
sheet.Range["B3"].NumberValue = 3;
sheet.Range["B4"].NumberValue = 4;
sheet.Range["B5"].NumberValue = 3;
sheet.Range["B6"].NumberValue = 5;
sheet.Range["B7"].NumberValue = 5;
sheet.Range["C1"].Value = "ライアン";
sheet.Range["C2"].NumberValue = 2;
sheet.Range["C3"].NumberValue = 5;
sheet.Range["C4"].NumberValue = 4;
sheet.Range["C5"].NumberValue = 4;
sheet.Range["C6"].NumberValue = 3;
sheet.Range["C7"].NumberValue = 3;
// フォントスタイルを設定
sheet.Range["A1:C1"].Style.Font.IsBold = true;
sheet.Range["A1:C1"].Style.Font.Size = 11;
sheet.Range["A1:C1"].Style.Font.Color = Color.White;
// 行の高さと列の幅を設定
sheet.Rows[0].RowHeight = 20;
sheet.Range["A1:C7"].Columns[0].ColumnWidth = 15;
// セルスタイルを設定
sheet.Range["A1:C1"].Style.Color = Color.DarkBlue;
sheet.Range["A2:C7"].Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin;
sheet.Range["A2:C7"].Style.Borders[BordersLineType.EdgeBottom].Color = Color.DarkBlue;
sheet.Range["B1:C7"].HorizontalAlignment = HorizontalAlignType.Center;
sheet.Range["A1:C7"].VerticalAlignment = VerticalAlignType.Center;
// ワークシートにレーダーチャートを追加
Chart chart = sheet.Charts.Add(ExcelChartType.Radar);
// グラフの位置を設定
chart.LeftColumn = 4;
chart.TopRow = 4;
chart.RightColumn = 14;
chart.BottomRow = 29;
// グラフのデータ範囲を設定
chart.DataRange = sheet.Range["A1:C7"];
chart.SeriesDataFromRange = false;
// グラフタイトルを設定
chart.ChartTitle = "従業員パフォーマンス評価";
chart.ChartTitleArea.IsBold = true;
chart.ChartTitleArea.Size = 14;
// グラフの凡例の位置を設定
chart.Legend.Position = LegendPositionType.Corner;
// 結果のファイルを保存
workbook.SaveToFile("Excel のレーダーグラフの作成.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
}
}
}
C# で塗りつぶしレーダーグラフを作成する
塗りつぶしレーダーグラフは標準的なレーダーグラフの一種で、データポイント間の領域が色で塗りつぶされている点が特徴です。以下は C# を使用して塗りつぶしレーダーグラフを作成する手順です。
- Workbook インスタンスを作成します。
- Workbook.Worksheets[sheetIndex] プロパティを使用して指定したワークシートを取得します。
- 指定したセルにグラフデータを追加し、セルのスタイルを設定します。
- Worksheet.Charts.Add(ExcelChartType.RadarFilled) メソッドを使用して、ワークシートに塗りつぶしレーダーグラフを追加します。
- Chart.DataRange プロパティを設定して、グラフのデータ範囲を指定します。
- グラフの位置、凡例、タイトルを設定します。
- Workbook.SaveToFile() メソッドを使用して、結果をファイルに保存します。
- C#
using Spire.Xls;
using System.Drawing;
namespace ExcelRadarChart
{
class Program
{
static void Main(string[] args)
{
// Workbookのインスタンスを作成
Workbook workbook = new Workbook();
// 最初のワークシートを取得
Worksheet sheet = workbook.Worksheets[0];
// 指定したセルにグラフデータを追加
sheet.Range["A1"].Value = "評価";
sheet.Range["A2"].Value = "コミュニケーション";
sheet.Range["A3"].Value = "経験";
sheet.Range["A4"].Value = "作業効率";
sheet.Range["A5"].Value = "リーダーシップ";
sheet.Range["A6"].Value = "問題解決";
sheet.Range["A7"].Value = "チームワーク";
sheet.Range["B1"].Value = "ジョナサン";
sheet.Range["B2"].NumberValue = 4;
sheet.Range["B3"].NumberValue = 3;
sheet.Range["B4"].NumberValue = 4;
sheet.Range["B5"].NumberValue = 3;
sheet.Range["B6"].NumberValue = 5;
sheet.Range["B7"].NumberValue = 5;
sheet.Range["C1"].Value = "ライアン";
sheet.Range["C2"].NumberValue = 2;
sheet.Range["C3"].NumberValue = 5;
sheet.Range["C4"].NumberValue = 4;
sheet.Range["C5"].NumberValue = 4;
sheet.Range["C6"].NumberValue = 3;
sheet.Range["C7"].NumberValue = 3;
// フォントスタイルを設定
sheet.Range["A1:C1"].Style.Font.IsBold = true;
sheet.Range["A1:C1"].Style.Font.Size = 11;
sheet.Range["A1:C1"].Style.Font.Color = Color.White;
// 行の高さと列の幅を設定
sheet.Rows[0].RowHeight = 20;
sheet.Range["A1:C7"].Columns[0].ColumnWidth = 15;
// セルスタイルを設定
sheet.Range["A1:C1"].Style.Color = Color.DarkBlue;
sheet.Range["A2:C7"].Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin;
sheet.Range["A2:C7"].Style.Borders[BordersLineType.EdgeBottom].Color = Color.DarkBlue;
sheet.Range["B1:C7"].HorizontalAlignment = HorizontalAlignType.Center;
sheet.Range["A1:C7"].VerticalAlignment = VerticalAlignType.Center;
// ワークシートに塗りつぶしレーダーチャートを追加
Chart chart = sheet.Charts.Add(ExcelChartType.RadarFilled);
// グラフの位置を設定
chart.LeftColumn = 4;
chart.TopRow = 4;
chart.RightColumn = 14;
chart.BottomRow = 29;
// グラフのデータ範囲を設定
chart.DataRange = sheet.Range["A1:C7"];
chart.SeriesDataFromRange = false;
// グラフタイトルを設定
chart.ChartTitle = "従業員パフォーマンス評価";
chart.ChartTitleArea.IsBold = true;
chart.ChartTitleArea.Size = 14;
// グラフの凡例の位置を設定
chart.Legend.Position = LegendPositionType.Corner;
// 結果のファイルを保存
workbook.SaveToFile("Excelで塗りつぶしレーダーグラフを作成.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
}
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。