チャートの作成と管理
チャートの作成
単純なチャートの作成
次のコード例を使用して、Aspose.Cells のグラフを簡単に作成できます。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Obtaining the reference of the first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Adding sample values to cells | |
worksheet.Cells["A2"].PutValue("Category1"); | |
worksheet.Cells["A3"].PutValue("Category2"); | |
worksheet.Cells["A4"].PutValue("Category3"); | |
worksheet.Cells["B1"].PutValue("Column1"); | |
worksheet.Cells["B2"].PutValue(4); | |
worksheet.Cells["B3"].PutValue(20); | |
worksheet.Cells["B4"].PutValue(50); | |
worksheet.Cells["C1"].PutValue("Column2"); | |
worksheet.Cells["C2"].PutValue(50); | |
worksheet.Cells["C3"].PutValue(100); | |
worksheet.Cells["C4"].PutValue(150); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Column, 5, 0, 15, 5); | |
// Accessing the instance of the newly added chart | |
Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex]; | |
// Setting chart data source as the range "A1:C4" | |
chart.SetChartDataRange("A1:C4", true); | |
// Saving the Excel file | |
workbook.Save(dataDir + "output.xls"); | |
グラフを作成するための注意事項
グラフを作成する前に、Aspose.Cells を使用してグラフを作成するときに役立ついくつかの基本概念を理解することが重要です。
グラフ オブジェクト
Aspose.Cells は、Aspose.Cells.Charts Aspose.Cells でサポートされているチャートを作成するために使用される名前空間。これらのクラスは、グラフ オブジェクト、チャートの構成要素として機能します。チャート オブジェクトは次のとおりです。
- シリーズ、グラフ内の単一のデータ シリーズ。
- 軸、グラフの軸。
- グラフ、単一の Excel グラフ。
- ChartArea、ワークシートのグラフ エリア。
- ChartDataTable、グラフ データ テーブル。
- ChartFrame、チャート内のフレーム オブジェクト。
- ChartPoint は、チャートの系列の単一ポイントです。
- ChartPointCollection は、1 つのシリーズのすべてのポイントを含むコレクションです。
- Charts、Chart オブジェクトのコレクション。
- DataLabels、指定されたシリーズのすべての DataLabel オブジェクトのコレクション。
- FillFormat、形状の塗りつぶし形式。
- フロア、3D チャートのフロア。
- 凡例、チャートの凡例。
- 線、チャート ライン。
- SeriesCollection、Series オブジェクトのコレクション。
- TickLabels、チャート軸の目盛りに関連付けられた目盛りラベル。
- タイトル、グラフまたは軸のタイトル。
- トレンドライン、チャートのトレンドライン。
- 指定されたデータ系列のすべての Trendline オブジェクトのコレクションです。
- 壁、3D チャートの壁。
チャート オブジェクトの使用
前述のように、すべてのチャート オブジェクトはそれぞれのクラスのインスタンスであり、特定のタスクを実行するための特定のプロパティとメソッドを提供します。チャート オブジェクトを使用してチャートを作成します。
を使用して、任意の種類のグラフをワークシートに追加します。チャートコレクション。の各項目チャートコレクションはチャート物体。あチャートオブジェクトは、チャートの外観をカスタマイズするために必要な他のすべてのチャート オブジェクトをカプセル化します。次のセクションでは、いくつかの基本的なチャート オブジェクトを使用して単純なチャートを作成する方法を示します。
Aspose.Cells を使用してチャートを作成
手順:
- を使用して、ワークシートのセルにデータを追加します。Cellオブジェクトのプットバリュー方法。 これは、グラフのデータ ソースとして使用されます。
- を呼び出して、ワークシートにグラフを追加します。チャートコレクションの追加にカプセル化されたメソッドワークシート物体。
- でグラフの種類を指定しますグラフの種類列挙。 たとえば、以下の例では、ChartType.ピラミッド値をグラフ タイプとして指定します。
- 新しいチャートからのオブジェクトチャートインデックスを渡すことによってコレクション。
- にカプセル化されたチャート オブジェクトのいずれかを使用します。チャートチャートを管理するオブジェクト。 以下の例では、シリーズコレクションcharting オブジェクトを使用して、チャートのデータ ソースを指定します。
ソース データをグラフに追加する場合、データ ソースはセルの範囲 (「A1:C3」など)、連続していないセルのシーケンス (「A1、A3、A5」など)、または一連のセルのいずれかです。値 (「1,2,3」など)。
これらの一般的な手順により、あらゆる種類のグラフを作成できます。さまざまなチャート オブジェクトを使用して、さまざまなチャートを作成します。
Aspose.Cells を使用して、さまざまな種類のチャートを作成できます。Aspose.Cells でサポートされているすべての標準チャートは、列挙型で事前に定義されています。Aspose.Cells.Charts.ChartType.
定義済みのグラフの種類は次のとおりです。
グラフの種類 | 説明 |
---|---|
桁 | 集合縦棒グラフを表します |
積み上げ列 | 積み上げ縦棒グラフを表します |
Column100PercentStacked | 100% 積み上げ縦棒グラフを表します |
列 3DClustered | 立体集合縦棒グラフを表します |
Column3D積み上げ | 3D 積み上げ縦棒グラフを表します |
Column3D100PercentStacked | 3D 100% 積み上げ縦棒グラフを表します |
列 3D | 3D 縦棒グラフを表します |
バー | 集合棒グラフを表します |
棒積み上げ | 積み上げ棒グラフを表します |
Bar100Percent積み上げ | 100% 積み上げ棒グラフを表します |
Bar3DClustered | 3D 集合棒グラフを表します |
Bar3D積み上げ | 3D 積み上げ棒グラフを表します |
Bar3D100PercentStacked | 3D 100% 積み上げ棒グラフを表します |
ライン | 折れ線グラフを表します |
LineStacked | 積み上げ折れ線グラフを表します |
Line100PercentStacked | 100% 積み上げ折れ線グラフを表します |
LineWithDataMarkers | データ マーカー付きの折れ線グラフを表します |
LineStackedWithDataMarkers | データ マーカー付きの積み上げ折れ線グラフを表します |
Line100PercentStackedWithDataMarkers | データ マーカー付きの 100% 積み上げ折れ線グラフを表します |
Line3D | 3D 折れ線グラフを表します |
パイ | 円グラフを表します |
Pie3D | 3D 円グラフを表します |
パイパイ | 円グラフの円を表します |
パイ爆発 | 分解円グラフを表します |
Pie3DExploded | 3D 分解円グラフを表します |
パイバー | 円グラフのバーを表します |
散布 | 散布図を表します |
ScatterConnectedByCurvesWithDataMarker | データ マーカー付きの曲線で接続された散布図を表します |
ScatterConnectedByCurvesWithoutDataMarker | データ マーカーのない、曲線で接続された散布図を表します |
ScatterConnectedByLinesWithDataMarker | データ マーカー付きの線で結ばれた散布図を表します |
ScatterConnectedByLinesWithoutDataMarker | 線で結ばれた散布図を表します。データ マーカーはありません。 |
範囲 | 面グラフを表します |
エリア積み上げ | 積み上げ面グラフを表します |
Area100PercentStacked | 100% 積み上げ面グラフを表します |
エリア3D | 3D 面グラフを表します |
Area3D積み上げ | 3D 積み上げ面グラフを表します |
Area3D100PercentStacked | 3D 100% 積み上げ面グラフを表します |
ドーナツ | ドーナツ チャートを表します |
ドーナツ爆発 | 展開されたドーナツ グラフを表します |
レーダー | レーダー チャートを表します |
RadarWithDataMarkers | データ マーカー付きのレーダー チャートを表します |
レーダーいっぱい | 塗りつぶされたレーダー チャートを表します |
Surface3D | 3D 等高線図を表します |
SurfaceWireframe3D | ワイヤーフレーム 3D 等高線図を表します |
表面輪郭 | 等高線図を表します |
SurfaceContourWireframe | ワイヤーフレーム等高線図を表します |
バブル | バブル チャートを表します |
バブル3D | 3D バブル チャートを表します |
シリンダー | 円柱グラフを表します |
円柱積み上げ | 積み上げ円柱グラフを表します |
円柱 100%積み上げ | 100% 積み上げ円柱グラフを表します |
円柱棒 | 円柱棒グラフを表します。 |
円柱棒積み上げ | 積み上げ円筒棒グラフを表します |
CylindericalBar100PercentStacked | 100% 積み上げ円柱棒グラフを表します |
円筒柱 3D | 3D 円柱縦棒グラフを表します |
円錐 | コーン チャートを表します |
円錐積み上げ | 積み上げ円錐グラフを表します |
円錐 100% 積み上げ | 100% 積み上げ円錐グラフを表します |
円錐バー | 円錐棒グラフを表します |
円錐棒積み上げ | 積み上げ円錐棒グラフを表します |
ConicalBar100PercentStacked | 100% 積み上げ円錐棒グラフを表します |
ConicalColumn3D | 3D 円錐縦棒グラフを表します |
ピラミッド | ピラミッド チャートを表します |
ピラミッド積み上げ | 積み上げピラミッド チャートを表します |
Pyramid100PercentStacked | 100% 積み上げピラミッド チャートを表します |
ピラミッドバー | ピラミッド棒グラフを表します |
ピラミッド棒積み上げ | 積み上げピラミッド棒グラフを表します |
PyramidBar100PercentStacked | 100% 積み上げピラミッド棒グラフを表します |
PyramidColumn3D | 3D ピラミッド縦棒グラフを表します |
セルの範囲をデータ ソースとして割り当てる場合、範囲は左上から右下までしか設定できません。たとえば、「A1:C3」は有効ですが、「C3:A1」は無効です。
|
ピラミッドチャート
サンプル コードを実行すると、ピラミッド チャートがワークシートに追加されます。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Adding a new worksheet to the Excel object | |
int sheetIndex = workbook.Worksheets.Add(); | |
// Obtaining the reference of the newly added worksheet by passing its sheet index | |
Worksheet worksheet = workbook.Worksheets[sheetIndex]; | |
// Adding sample values to cells | |
worksheet.Cells["A1"].PutValue(50); | |
worksheet.Cells["A2"].PutValue(100); | |
worksheet.Cells["A3"].PutValue(150); | |
worksheet.Cells["B1"].PutValue(4); | |
worksheet.Cells["B2"].PutValue(20); | |
worksheet.Cells["B3"].PutValue(50); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Pyramid, 5, 0, 15, 5); | |
// Accessing the instance of the newly added chart | |
Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex]; | |
// Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3" | |
chart.NSeries.Add("A1:B3", true); | |
// Saving the Excel file | |
workbook.Save(dataDir + "output.xls"); | |
折れ線グラフ
上記の例では、単純にグラフの種類にライン折れ線グラフを作成します。完全なソースを以下に示します。コードが実行されると、折れ線グラフがワークシートに追加されます。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Adding a new worksheet to the Excel object | |
int sheetIndex = workbook.Worksheets.Add(); | |
// Obtaining the reference of the newly added worksheet by passing its sheet index | |
Worksheet worksheet = workbook.Worksheets[sheetIndex]; | |
// Adding sample values to cells | |
worksheet.Cells["A1"].PutValue(50); | |
worksheet.Cells["A2"].PutValue(100); | |
worksheet.Cells["A3"].PutValue(150); | |
worksheet.Cells["B1"].PutValue(4); | |
worksheet.Cells["B2"].PutValue(20); | |
worksheet.Cells["B3"].PutValue(50); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Line, 5, 0, 15, 5); | |
// Accessing the instance of the newly added chart | |
Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex]; | |
// Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3" | |
chart.NSeries.Add("A1:B3", true); | |
// Saving the Excel file | |
workbook.Save( dataDir + "output.xls"); | |
バブル チャート
バブル チャートを作成するには、グラフの種類に設定する必要がありますChartType.バブルそれに応じて、BubbleSizes、Values、XValues などのいくつかの追加プロパティを設定する必要があります。次のコードを実行すると、バブル チャートがワークシートに追加されます。
データ マーカー付き折れ線グラフ
データ マーカー チャートで線を作成するには、グラフの種類に設定する必要がありますChartType.LineWithDataMarkersまた、背景領域、シリーズ マーカー、Values & XValues などのいくつかの追加プロパティを適宜設定する必要があります。次のコードを実行すると、データ マーカー チャートを含む行がワークシートに追加されます。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Instantiate a workbook | |
Workbook workbook = new Workbook(); | |
// Access first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Set columns title | |
worksheet.Cells[0, 0].Value = "X"; | |
worksheet.Cells[0, 1].Value = "Y"; | |
// Random data shall be used for generating the chart | |
Random R = new Random(); | |
// Create random data and save in the cells | |
for (int i = 1; i < 21; i++) | |
{ | |
worksheet.Cells[i, 0].Value = i; | |
worksheet.Cells[i, 1].Value = 0.8; | |
} | |
for (int i = 21; i < 41; i++) | |
{ | |
worksheet.Cells[i, 0].Value = i - 20; | |
worksheet.Cells[i, 1].Value = 0.9; | |
} | |
// Add a chart to the worksheet | |
int idx = worksheet.Charts.Add(ChartType.LineWithDataMarkers, 1, 3, 20, 20); | |
// Access the newly created chart | |
Chart chart = worksheet.Charts[idx]; | |
// Set chart style | |
chart.Style = 3; | |
// Set autoscaling value to true | |
chart.AutoScaling = true; | |
// Set foreground color white | |
chart.PlotArea.Area.ForegroundColor = Color.White; | |
// Set Properties of chart title | |
chart.Title.Text = "Sample Chart"; | |
// Set chart type | |
chart.Type = ChartType.LineWithDataMarkers; | |
// Set Properties of categoryaxis title | |
chart.CategoryAxis.Title.Text = "Units"; | |
//Set Properties of nseries | |
int s2_idx = chart.NSeries.Add("A2: A2", true); | |
int s3_idx = chart.NSeries.Add("A22: A22", true); | |
// Set IsColorVaried to true for varied points color | |
chart.NSeries.IsColorVaried = true; | |
// Set properties of background area and series markers | |
chart.NSeries[s2_idx].Area.Formatting = FormattingType.Custom; | |
chart.NSeries[s2_idx].Marker.Area.ForegroundColor = Color.Yellow; | |
chart.NSeries[s2_idx].Marker.Border.IsVisible = false; | |
// Set X and Y values of series chart | |
chart.NSeries[s2_idx].XValues = "A2: A21"; | |
chart.NSeries[s2_idx].Values = "B2: B21"; | |
// Set properties of background area and series markers | |
chart.NSeries[s3_idx].Area.Formatting = FormattingType.Custom; | |
chart.NSeries[s3_idx].Marker.Area.ForegroundColor = Color.Green; | |
chart.NSeries[s3_idx].Marker.Border.IsVisible = false; | |
// Set X and Y values of series chart | |
chart.NSeries[s3_idx].XValues = "A22: A41"; | |
chart.NSeries[s3_idx].Values = "B22: B41"; | |
// Save the workbook | |
workbook.Save(outputDir + @"LineWithDataMarkerChart.xlsx", Aspose.Cells.SaveFormat.Xlsx); |