Top > OOoBasic > Calc > chart2 > Axis

* 軸 [#t4045749]
X, Y, Z 軸。

#contents

** 軸 [#r17d8616]
軸はダイアグラムの座標系から次元とインデックスを指定して取得します。

次元は x, y, z = 0, 1, 2 を指定します。また、インデックスには軸の級数?を指定します。0: primary, 1: secondary。

 getAxisByDimension( [in] long nDimension, [in] long nIndex )

*** X 軸 [#mea8c9f6]
X 軸はダイアグラムの座標系から次元 0 とインデックスを指定して取得します。

 oXAxis = oCooSys.getAxisByDimension(0, 0)

*** Y 軸 [#h0afbddc]
次元 1 を指定します。

 oXAxis = oCooSys.getAxisByDimension(1, 0)


** 軸のプロパティ [#kecc566f]
軸では見た目の設定に次のプロパティが利用できます。


- [[文字>../Properties#h7a5d051]]
- [[フォントの効果>../Properties#t3021041]]
- [[線>../Properties#k4c88284]]

その他のプロパティ
|名前|型|説明|h
|ArrangeOrder|.chart.ChartAxisArrangeOrderType|軸の表示順序|
|CrossoverPosition|.chart.ChartAxisPosition|軸の位置|
|CrossoverValue|double||
|DisplayLabels|boolean|ラベルの表示|
|GridProperties|.beans.XPropertySet||
|LabelPosition|.chart.ChartAxisLabelPosition||
|MajorTickmarks|long||
|MarkPosition|.chart.ChartAxisMarkPosition||
|MinorTickmarks|long||
|NumberFormat|long|数書式|
|ScaleData|.chart2.ScaleData|スケール設定|
|Show|boolean|表示状態|
|StackCharacters|boolean||
|SubGridProperties|[].beans.XPropertySet||
|SubTickProperties|[].beans.XPropertySet||
|TextBreak|boolean||
|TextOverlap|boolean||
|TextRotation|double|回転|
|TitleObject|.chart2.XTitle|タイトル設定|
** スケール [#q0d0dbdd]
軸のメモリ指定。チャートの種類によっては利用できません。スケールは com.sun.star.chart2.ScaleData struct で設定します。

 aScaleData =  oXAxis.ScaleData

|名前|型|説明|h
|AxisType|long|軸の種類 .chart2.AxisType 定数。|
|Breaks|[].chart2.Break||
|Categories|.chart2.data.XLabeledDataSequence||
|IncrementData|.chart2.IncrementData|主間隔|
|Maximum|any|最大値|
|Minimum|any|最小値|
|Orientation|.chart2.AxisOrientation||
|Orientation|.chart2.AxisOrientation|軸の向き。逆方向 REVERSE。|
|Origin|any||
|Scaling|.chart2.XScaling||

間隔
|名前|型|説明|h
|BaseValue|any||
|Distance|any|間隔|
|PostEquidistant|any||
|SubIncrements|[].chart2.SubIncrement||

補助間隔
|名前|型|説明|h
|IntervalCount|any|補助間隔数|
|PostEquidistant|any||
** グリッド [#c287c546]
軸に合わせて引かれるグリッド線。グリッド線の設定は軸から getGridProperties メソッドで取得します。グリッドオブジェクトは com.sun.star.chart2.GridProperties です。

 oGrid = oXAxis.getGridProperties()

*** グリッドの表示 [#t4cd78d1]
グリッドの表示/非表示は Show プロパティを変更することで切り替えられます。

 oGrid.Show = True ' 表示する

非表示にするには False を指定します。

*** グリッドのプロパティ [#g23f8658]

- [[線>../Properties#k4c88284]]

** 軸の追加 [#wdc74968]
二番目の軸を追加して二つ目の系列をその軸に帰属させます。

 Sub AddSecondYAxis
  oSheet = ThisComponent.getSheets().getByIndex(0)
  oCharts = oSheet.getCharts()
  oChart = oCharts.getByIndex(1).getEmbeddedObject() ' 2nd chart
  
  oDiagram = oChart.getFirstDiagram()
  oCoords = oDiagram.getCoordinateSystems()
  oCoord = oCoords(0)
  
  If oCoord.getDimension() = 2 Then
    oSecondY = nothing
    On Error GoTo AxisErrorHandler
    'oFirstY = oCoord.getAxisByDimension(1, 0)
    oSecondY = oCoord.getAxisByDimension(1, 1)
    AxisErrorHandler:
    If NOT IsNull(oSecondY) Then exit sub
    ' 2nd Y-axis is not set
    ' insert new axis as 2nd-Y
    oSecondY = CreateUnoService("com.sun.star.chart2.Axis")
    oCoord.setAxisByDimension(1, oSecondY, 1)
    
    oSecondY.CrossoverPosition = com.sun.star.chart.ChartAxisPosition.END ' right side
    'aScaleData = oCoord.ScaleData ' can be used to set its scale
    
    oChartTypes = oCoord.getChartTypes()
    oChartType = oChartTypes(0)
    oDataSeriesList = oChartType.getDataSeries()
    oDataSeries = oDataSeriesList(1) ' 2nd series
    
    oDataSeries.AttachedAxisIndex = 1 ' secondary axis
  End If
 End Sub

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes