DioDocs for Excel
DioDocs for Excel
チャート軸の設定
機能 > チャート > チャートオブジェクトのカスタマイズ > 軸とその他の線 > チャート軸の設定

DioDocs for Excel では、スプレッドシートで次の要素を使用して、チャート軸を設定することができます。

軸タイトル

チャート軸を設定する際に、IAxisインタフェースのAxisTitleプロパティを使用して、軸タイトルのスタイルを設定することができます。

軸タイトルのレイアウトを構成する方法については、次のサンプルコードを参照してください。

C#
コードのコピー
IShape shape = worksheet.Shapes.AddChart(ChartType.ColumnClustered, 200, 100, 300, 300);
worksheet.Range["A1:D6"].Value = new object[,]
{
    {null, "S1", "S2", "S3"},
    {"Item1", 10, 25, 25},
    {"Item2", -51, -36, 27},
    {"Item3", 52, -85, -30},
    {"Item4", 22, 65, 65},
    {"Item5", 23, 69, 69}
};
shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true);

IAxis category_axis = shape.Chart.Axes.Item(AxisType.Category);
IAxis value_axis = shape.Chart.Axes.Item(AxisType.Value);
category_axis.HasTitle = true;
category_axis.AxisTitle.Format.Fill.Color.RGB = Color.Pink;
category_axis.AxisTitle.Text = "aaaaaaaaaa";
category_axis.AxisTitle.Font.Size = 20;
category_axis.AxisTitle.Font.Color.RGB = Color.Green;
category_axis.AxisTitle.Font.Strikethrough = true;

また、軸タイトルの方向を横書き、縦書き、右へ90度回転、左へ90度回転に設定できるとともに、半角文字を含む縦書きの場合は、行の並び(「右から左」など)を設定することができます。軸タイトルの方向を設定するには、IAxisTitleインターフェースおよびIAxisTitle.ITextFrameインターフェースのDirectionプロパティにTextDirection列挙体を設定します。

軸タイトルの方向を「縦書き(半角文字含む)」かつ行の並びを「左から右」に設定する方法については、次のコード例を参照してください。

C#
コードのコピー
// チャートを作成します
shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true);

IAxis category_axis = shape.Chart.Axes.Item(AxisType.Category);

// 軸タイトルを表示します
category_axis.HasTitle = true;

// 軸タイトルの名前を設定します
category_axis.AxisTitle.Text = "Category";

// 軸タイトルの方向を設定します
category_axis.AxisTitle.TextFrame.Direction = TextDirection.Stacked;

// または
category_axis.AxisTitle.Direction = TextDirection.Stacked;

IAxisTitleインタフェースのOrientationプロパティを使用して、軸タイトルのテキスト角度を設定することもできます。

軸タイトルのテキスト角度を設定する方法については、次のコード例を参照してください。

C#
コードのコピー
// チャートを作成します
shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true);

IAxis category_axis = shape.Chart.Axes.Item(AxisType.Category);

// 軸タイトルを表示します
category_axis.HasTitle = true;

// 軸タイトルの名前を設定します
category_axis.AxisTitle.Text = "Category";

// 軸タイトルのテキスト角度を45度に設定します
category_axis.AxisTitle.Orientation = 45;

軸タイトルの方向と角度は、JSONまたはPDFドキュメントにエクスポートまたはインポートすることができます。

メモ: Orientationプロパティは、Directionプロパティの値がHorizontalの場合にのみ適用されます。

グリッド線

チャート軸の設定中に、IAxis インタフェースの HasMajorGridlinesプロパティ、HasMinorGridlinesプロパティ、MajorGridlinesプロパティ、およびMinorGridlinesプロパティを使用して、主グリッド線と副グリッド線のスタイルを必要に応じて設定することもできます。

主/副グリッド線のスタイルを設定する方法については、次のサンプルコードを参照してください。

C#
コードのコピー
IShape shape = worksheet.Shapes.AddChart(ChartType.ColumnClustered, 200, 100, 300, 300);
worksheet.Range["A1:D6"].Value = new object[,]
{
    {null, "S1", "S2", "S3"},
    {"Item1", 10, 25, 25},
    {"Item2", -51, -36, 27},
    {"Item3", 52, -85, -30},
    {"Item4", 22, 65, 65},
    {"Item5", 23, 69, 69}
};
shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true);

IAxis value_axis = shape.Chart.Axes.Item(AxisType.Value);
IAxis category_axis = shape.Chart.Axes.Item(AxisType.Category);
category_axis.HasMajorGridlines = true;
category_axis.HasMinorGridlines = true;
category_axis.MajorGridlines.Format.Line.Color.RGB = Color.Red;
category_axis.MajorGridlines.Format.Line.Weight = 3;
category_axis.MinorGridlines.Format.Line.Color.RGB = Color.Green;
category_axis.MinorGridlines.Format.Line.Weight = 1;
category_axis.MinorGridlines.Format.Line.Style = LineStyle.ThickThin;

表示単位ラベル

ワークシートでチャート軸を設定する際に、IAxis インタフェースのDisplayUnitプロパティ、DisplayUnitLabelプロパティ、およびHasDisplayUnitLabelプロパティを使用して、軸の表示単位を設定したり、そのラベルスタイルを設定することもできます。

軸の表示単位を設定し、そのラベルスタイルを設定する方法については、次のサンプルコードを参照してください。

C#
コードのコピー
IShape shape = worksheet.Shapes.AddChart(ChartType.ColumnClustered, 200, 100, 300, 300);
worksheet.Range["A1:D6"].Value = new object[,]
{
    {null, "S1", "S2", "S3"},
    {"Item1", 10, 25, 25},
    {"Item2", -51, -36, 27},
    {"Item3", 52, -85, -30},
    {"Item4", 22, 65, 65},
    {"Item5", 23, 69, 69}
};
shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true);

IAxis category_axis = shape.Chart.Axes.Item(AxisType.Category);
IAxis value_axis = shape.Chart.Axes.Item(AxisType.Value);
value_axis.DisplayUnit = DisplayUnit.Hundreds;
value_axis.HasDisplayUnitLabel = true;
value_axis.DisplayUnitLabel.Font.Color.RGB = Color.Green;
value_axis.DisplayUnitLabel.Font.Italic = true;
value_axis.DisplayUnitLabel.Format.Fill.Color.RGB = Color.Pink;
value_axis.DisplayUnitLabel.Format.Line.Color.RGB = Color.Red;

目盛りラベル

チャート軸を設定する際に、IAxisインタフェースのTickLabelPositionプロパティ、TickLabelsプロパティ、TickLabelSpacingプロパティ、TickLabelSpacingIsAutoプロパティ、TickMarkSpacingプロパティを使用して、目盛りラベルの位置やレイアウトを設定することができます。

目盛りラベルの位置とレイアウトを設定する方法については、次のサンプルコードを参照してください。

C#
コードのコピー
// チャートを作成します
shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true);

IAxis category_axis = shape.Chart.Axes.Item(AxisType.Category);
IAxis value_axis = shape.Chart.Axes.Item(AxisType.Value);

// 目盛りラベルの塗りつぶしは、軸の書式に従って緑色になります
category_axis.Format.Fill.Color.RGB = Color.Green;

category_axis.TickLabelPosition = TickLabelPosition.NextToAxis;
category_axis.TickLabelSpacing = 2;
category_axis.TickLabels.Font.Color.RGB = Color.Red;
category_axis.TickLabels.Font.Italic = true;
category_axis.TickLabels.NumberFormat = "#,##0.00";
category_axis.TickLabels.Offset = 100;

また、目盛りラベルの方向を横書き、縦書き、右へ90度回転、左へ90度回転に設定できるとともに、半角文字を含む縦書きの場合は、行の並び(「右から左」など)を設定することができます。目盛りラベルの方向を設定するには、ITickLabelsインターフェースのDirectionプロパティにTextDirection列挙体を設定します。

目盛りラベルを縦書きに設定する方法については、次のコード例を参照してください。

C#
コードのコピー
// チャートを作成します
shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true);

// カテゴリ軸を設定します
var categoryAxis = shape.Chart.Axes.Item(AxisType.Category);

// カテゴリの目盛りラベルを縦書きに設定します
categoryAxis.TickLabels.Direction = TextDirection.Vertical;

ITickLabelsインタフェースのOrientationプロパティを使用して、目盛りラベルのテキスト角度を設定することもできます。

目盛りラベルのテキスト角度を設定する方法については、次のサンプルコードを参照してください。

C#
コードのコピー
// チャートを作成します
shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true);
IAxis category_axis = shape.Chart.Axes.Item(AxisType.Category);

// 目盛りラベルのテキスト角度を設定します
category_axis.TickLabels.Orientation = 45;

// Excelファイルに保存します
workbook.Save("configtickmarklabelangle.xlsx");

目盛りラベルの方向と角度は、JSONまたはPDFドキュメントにエクスポートまたはインポートすることができます。

メモ: Orientationプロパティは、Directionプロパティの値がHorizontalの場合にのみ適用されます。