軸は、プロット領域の 1つの次元のスケールを表示する手段となる、チャート要素の 1 つです。DioDocs for Excel では、チャート内の軸に、タイトル、大目盛りマーク、小目盛りマーク、目盛りマークラベル、主グリッド線、副グリッド線があります。
チャートの軸には次の 3つのタイプがあります。
通常、2 次元チャートは、カテゴリ軸と値軸の 2 つの軸で構成されます。カテゴリ軸は水平軸(X 軸)とも呼ばれ、引数を表すために使用されます。値軸は垂直軸(Y 軸)とも呼ばれ、ワークシートの行と列のデータ値を表します。ただし、3 次元チャートでは、水平軸と垂直軸とは別にもう 1 つ軸があります。この軸は、系列軸と呼ばれます。
IAxisインタフェースのプロパティを使用して、チャート内のカテゴリ軸、値軸、系列軸を構成できます。
チャートの軸を構成する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
//IAxis.CategoryTypeを使用してカテゴリ軸のスケールタイプを設定します IShape shape1 = worksheet.Shapes.AddChart(ChartType.ColumnClustered, 200, 50, 300, 300); worksheet.Range["A1:D6"].Value = new object[,] { {null, "S1", "S2", "S3"}, {new DateTime(2015, 10, 21), 10, 25, 25}, {new DateTime(2016, 10, 25), -51, -36, 27}, {new DateTime(2017, 12, 20), 52, -85, -30}, {new DateTime(2018, 5, 5), 22, 65, 65}, {new DateTime(2019, 10, 12), 23, 69, 69} }; shape1.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true); worksheet.Range["A2:A6"].NumberFormat = "m/d/yyyy"; IAxis category_axis = shape1.Chart.Axes.Item(AxisType.Category); category_axis.CategoryType = CategoryType.AutomaticScale; //カテゴリ軸のカテゴリタイプは自動スケールです var categorytype = category_axis.CategoryType; //カテゴリ軸の実際のカテゴリタイプは時間スケールです var actualcategorytype = category_axis.ActualCategoryType; workbook.Worksheets.Add(); IWorksheet worksheet1 = workbook.Worksheets[1]; worksheet1.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} }; //カテゴリ軸とValue軸の書式を設定します IShape shape2 = worksheet1.Shapes.AddChart(ChartType.ColumnClustered, 200, 50, 300, 300); shape2.Chart.SeriesCollection.Add(worksheet1.Range["A1:D6"], RowCol.Columns, true, true); IAxis category_axis1 = shape2.Chart.Axes.Item(AxisType.Category); IAxis value_axis = shape2.Chart.Axes.Item(AxisType.Value); //カテゴリ軸の書式を設定します category_axis1.Format.Line.Color.RGB = Color.Green; category_axis1.Format.Line.Weight = 3; category_axis1.Format.Line.Style = LineStyle.ThickBetweenThin; //Value軸の書式を設定します value_axis.Format.Line.Color.RGB = Color.Red; value_axis.Format.Line.Weight = 8; value_axis.Format.Line.Style = LineStyle.ThinThin; //タイムスケールカテゴリ軸の単位を設定します worksheet1.Range["A8:A12"].NumberFormat = "m/d/yyyy"; worksheet1.Range["A7:D12"].Value = new object[,] { {null, "S1", "S2", "S3"}, {new DateTime(2015, 10, 21), 10, 25, 25}, {new DateTime(2016, 10, 25), -51, -36, 27}, {new DateTime(2017, 12, 20), 52, -85, -30}, {new DateTime(2018, 5, 5), 22, 65, 65}, {new DateTime(2019, 10, 12), 23, 69, 69} }; IShape shape3 = worksheet1.Shapes.AddChart(ChartType.ColumnClustered, 200, 450, 300, 300); shape3.Chart.SeriesCollection.Add(worksheet1.Range["A7:D12"], RowCol.Columns, true, true); IAxis category_axis2 = shape3.Chart.Axes.Item(AxisType.Category); category_axis2.MaximumScale = new DateTime(2019, 10, 1).ToOADate(); category_axis2.MinimumScale = new DateTime(2015, 10, 1).ToOADate(); category_axis2.BaseUnit = TimeUnit.Years; category_axis2.MajorUnitScale = TimeUnit.Months; category_axis2.MajorUnit = 4; category_axis2.MinorUnitScale = TimeUnit.Days; category_axis2.MinorUnit = 60; //値の軸の単位を構成します IShape shape4 = worksheet1.Shapes.AddChart(ChartType.ColumnClustered, 200, 800, 300, 300); shape4.Chart.SeriesCollection.Add(worksheet1.Range["A1:D6"], RowCol.Columns, true, true); IAxis category_axis3 = shape4.Chart.Axes.Item(AxisType.Category); IAxis value_axis1 = shape4.Chart.Axes.Item(AxisType.Value); value_axis1.MaximumScale = 150; value_axis1.MinimumScale = 50; value_axis1.MajorUnit = 20; value_axis1.MinorUnit = 5; //軸の交差を設定します IShape shape5 = worksheet1.Shapes.AddChart(ChartType.ColumnClustered, 200, 1150, 300, 300); shape5.Chart.SeriesCollection.Add(worksheet1.Range["A1:D6"], RowCol.Columns, true, true); IAxis value_axis2 = shape5.Chart.Axes.Item(AxisType.Value); value_axis2.Crosses = AxisCrosses.Maximum; //軸のスケールタイプを設定します IShape shape6 = worksheet1.Shapes.AddChart(ChartType.ColumnClustered, 200, 1500, 300, 300); shape6.Chart.SeriesCollection.Add(worksheet1.Range["A1:D6"], RowCol.Columns, true, true); IAxis value_axis3 = shape6.Chart.Axes.Item(AxisType.Value); value_axis3.ScaleType = ScaleType.Logarithmic; value_axis3.LogBase = 5; //軸の目盛りを設定します IShape shape7 = worksheet1.Shapes.AddChart(ChartType.ColumnClustered, 200, 1850, 300, 300); shape7.Chart.SeriesCollection.Add(worksheet1.Range["A1:D6"], RowCol.Columns, true, true); IAxis category_axis4 = shape7.Chart.Axes.Item(AxisType.Category); category_axis4.Format.Line.Color.RGB = Color.Green; category_axis4.MajorTickMark = TickMark.Inside; category_axis4.MinorTickMark = TickMark.Cross; category_axis4.TickMarkSpacing = 2; |