Top > OOoBasic > Calc > chart2 > ChartTypeTemplate
* チャート タイプ テンプレート [#f0f40b89]
チャートの種類やダイアグラムを作成するテンプレート サービス。

#contents
** チャート タイプ マネージャ [#gd9be766]
チャートからチャート タイプ マネージャを取得します。

 oChartTypeManager = oChart.getChartTypeManager()

チャート タイプ マネージャから getAvailableServiceNames メソッドで利用できるチャート タイプ テンプレートのサービス名が取得できます。
** チャート タイプ テンプレート [#v90ee400]
利用したいテンプレートのサービス名を指定してチャート タイプ マネージャからインスタンス化します。

 oChartTypeTemplate = oChartTypeManager.createInstance( _
    "com.sun.star.chart2.template.ScatterLineSymbol")

createInstanceWithArguments メソッドでは特に引数がサポートされていません。(2.4.1)
** ダイアグラム種類の変更 [#k50514db]
グラフの種類を変更します。変更したいチャートの種類のテンプレートをインスタンス化して changeDiagram メソッドを使用して種類を変更します。

 oChartTypeTemplate = oChartTypeManager.createInstance( _
    "com.sun.star.chart2.template.Bar")
 
 oChartTypeTemplate.changeDiagram(oDiagram)

上記の様にするとダイアグラムの種類が横棒のグラフに変わります。

** データの変更 [#xfe4949f]
設定されているデータの範囲を変更します。

  Dim aProps(3) As New com.sun.star.beans.PropertyValue
  aProps(0).Name = "CellRangeRepresentation"
  aProps(0).Value = "Sheet1.A1:B3"
  aProps(1).Name = "DataRowSource"
  aProps(1).Value = com.sun.star.chart.ChartDataRowSource.COLUMNS
  aProps(2).Name = "FirstCellAsLabel"
  aProps(2).Value = False
  aProps(3).Name = "HasCategories"
  aProps(3).Value = True
 
  oDataSource = oDataProvider.createDataSource(aProps)
  
  ' change data of the diagram
  Dim aArgs(0) As New com.sun.star.beans.PropertyValue
  aArgs(0).Name = "HasCategories"
  aArgs(0).Value = True
 
  oChartTypeTemplate.changeDiagramData(oDiagram, oDataSource, aArgs)

changeDiagramData メソッドの三番目の引数は &idlref(com.sun.star.chart2.StandardDiagramCreationParameters); で指定しますが、現在は上記の HasCategories のみです。

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