チャートの操作
新しい InsertChart メソッドが DocumentBuilder クラスに追加されました。それでは、InsertChart メソッドを使用して文書に単純な縦棒グラフを挿入する方法を見てみましょう。
グラフを挿入する方法
このセクションでは、ドキュメントにグラフを挿入する方法を学びます。
縦棒グラフの挿入
次のコード例は、縦棒グラフを挿入する方法を示しています。
このコードは次の結果を生成します。
シリーズの Add メソッドには 4 つの異なるオーバーロードがあり、すべてのグラフ タイプのデータ ソースの可能なすべてのバリアントをカバーするために公開されました。
このコードは次の結果を生成します。
散布図の挿入
次のコード例は、散布図を挿入する方法を示しています。
このコードは次の結果を生成します。
面グラフの挿入
次のコード例は、面グラフを挿入する方法を示しています。
このコードは次の結果を生成します。
バブル チャートの挿入
次のコード例は、バブル チャートを挿入する方法を示しています。
このコードは次の結果を生成します。
Shape.Chart
オブジェクトを使用したチャートの操作
グラフを挿入してデータを入力したら、その外観を変更できます。 Shape.Chart
プロパティには、パブリック API を通じて使用できるすべてのチャート関連のオプションが含まれています。
たとえば、グラフのタイトルまたは凡例の動作を変更してみましょう。
このコードは次の結果を生成します。
ChartSeries のチャートのコレクションの操作方法
ChartSeries コレクションを見てみましょう。すべてのグラフ シリーズは、IEnumerable である chart.Series コレクションを通じて利用できます。
シリーズを 1 つずつ削除したり、すべてをクリアしたり、必要に応じて新しいシリーズを追加したりできます。新しく挿入されたグラフには、このコレクションにいくつかのデフォルト シリーズが追加されています。それらを削除するには、chart.Series.Clear() メソッドを呼び出す必要があります。
単一の ChartSeries クラスの操作
特定のシリーズを操作する方法は次のとおりです。
以下の結果をご覧ください。
すべての単一 ChartSeries にはデフォルトの ChartDataPoint オプションがあります。次のコードを使用してそれらを変更してみてください。
以下の結果をご覧ください。
ChartSeries
の単一の ChartDataPoint を操作する方法
ChartDataPoint を使用すると、グラフ シリーズの単一のデータ ポイントの書式設定をカスタマイズできます。
以下の結果をご覧ください。
単一の ChartSeries の ChartDataLabel を操作する方法
ChartDataLabel を使用すると、LegendKey、CategoryName、SeriesName、Value などの表示/非表示など、グラフ シリーズの単一のデータ ラベルの書式設定を指定できます。
以下の結果をご覧ください。
ChartSeries の ChartDataLabels のデフォルト オプションを定義する方法
ChartDataLabelCollection クラスは、チャート Series の ChartDataLabels のデフォルト オプションを設定するために使用できるプロパティを定義します。これらのプロパティには、ShowCategoryName、ShowBubbleSize、ShowPercentage、ShowSeriesName、ShowValue などが含まれます。
以下の結果をご覧ください。
チャートデータラベルの番号をフォーマットする方法
NumberFormat を使用すると、グラフの単一のデータ ラベルの数値書式設定を指定できます。
次のコード例は、データ ラベルの数値をフォーマットする方法を示しています。
グラフ軸のプロパティを設定する方法
グラフの軸、スケーリング、値軸の表示単位を操作する場合は、ChartAxis、AxisDisplayUnit、および AxisScaling クラスを使用してください。
次のコード例は、X 軸と Y 軸のプロパティを定義する方法を示しています。
軸のDate時間値の設定方法
次のコード例は、日付/時刻値を軸プロパティに設定する方法を示しています。
軸の数値をフォーマットする方法
次のコード例は、値軸の数値の形式を変更する方法を示しています。
軸の境界を設定する方法
AxisBound
クラスは、軸値の最小値または最大値の境界を表します。 Bound は、数値、日時、または特別な「自動」値として指定できます。
次のコード例は、軸の境界を設定する方法を示しています。
ラベル間の間隔単位の設定方法
次のコード例は、軸上のラベル間の間隔単位を設定する方法を示しています。
グラフの軸を非表示にする方法
グラフの軸を表示または非表示にしたい場合は、ChartAxis.Hidden
プロパティの値を設定するだけでこれを実現できます。
次のコード例は、グラフの Y 軸を非表示にする方法を示しています。
グラフのラベルを揃える方法
複数行ラベルのテキスト配置を設定したい場合は、TickLabels.配置 プロパティの値を設定するだけでこれを実現できます。
次のコード例は、ラベルの配置をチェックする方法を示しています。
塗りつぶしとストロークの書式設定を設定する方法
塗りつぶしとストロークの書式設定は、グラフ シリーズ、データ ポイント、マーカーに設定できます。これを行うには、ChartSeries、ChartDataPoint、および ChartMarker クラスの ChartFormat タイプのプロパティを使用するだけでなく、Stroke
クラスの ForeColor、BackColor、Visible、Transparency などの一部のプロパティのエイリアスを使用する必要があります。
次のコード例は、シリーズの色を設定する方法を示しています。
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertChart(ChartType.Column, 432, 252);
Chart chart = shape.Chart;
ChartSeriesCollection seriesColl = chart.Series;
// Delete default generated series.
seriesColl.Clear();
// Create category names array.
string[] categories = new string[] { "AW Category 1", "AW Category 2" };
// Adding new series. Value and category arrays must be the same size.
ChartSeries series1 = seriesColl.Add("AW Series 1", categories, new double[] { 1, 2 });
ChartSeries series2 = seriesColl.Add("AW Series 2", categories, new double[] { 3, 4 });
ChartSeries series3 = seriesColl.Add("AW Series 3", categories, new double[] { 5, 6 });
// Set series color.
series1.Format.Fill.ForeColor = Color.Red;
series2.Format.Fill.ForeColor = Color.Yellow;
series3.Format.Fill.ForeColor = Color.Blue;
doc.Save(dir + "ColumnColor.docx");
次のコード例は、線の色と太さを設定する方法を示しています。
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertChart(ChartType.Line, 432, 252);
Chart chart = shape.Chart;
ChartSeriesCollection seriesColl = chart.Series;
// Delete default generated series.
seriesColl.Clear();
// Adding new series.
ChartSeries series1 = seriesColl.Add("AW Series 1", new double[] { 0.7, 1.8, 2.6 },
new double[] { 2.7, 3.2, 0.8 });
ChartSeries series2 = seriesColl.Add("AW Series 2", new double[] { 0.5, 1.5, 2.5 },
new double[] { 3, 1, 2 });
// Set series color.
series1.Format.Stroke.ForeColor = Color.Red;
series1.Format.Stroke.Weight = 5;
series2.Format.Stroke.ForeColor = Color.LightGreen;
series2.Format.Stroke.Weight = 5;
doc.Save(dir + "LineColorAndWeight.docx");