Java でプレゼンテーションのチャートにトレンドラインを追加する

トレンドラインの追加

Aspose.Slides for Java は、さまざまなチャートのトレンドラインを管理するためのシンプルな API を提供します。

  1. Presentation クラスのインスタンスを作成します。
  2. インデックスでスライドの参照を取得します。
  3. デフォルトデータと任意のタイプのチャートを追加します(この例では ChartType.ClusteredColumn を使用)。
  4. チャートシリーズ 1 に指数トレンドラインを追加します。
  5. チャートシリーズ 1 に線形トレンドラインを追加します。
  6. チャートシリーズ 2 に対数トレンドラインを追加します。
  7. チャートシリーズ 2 に移動平均トレンドラインを追加します。
  8. チャートシリーズ 3 に多項式トレンドラインを追加します。
  9. チャートシリーズ 3 にべき乗トレンドラインを追加します。
  10. 変更されたプレゼンテーションを PPTX ファイルに書き込みます。

以下のコードは、トレンドライン付きのチャートを作成するために使用されます。

// Presentation クラスのインスタンスを作成
Presentation pres = new Presentation();
try {
    // クラスター化された柱状グラフの作成
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 20, 20, 500, 400);
    
    // チャート系列 1 に指数トレンドラインを追加
    ITrendline tredLinep = chart.getChartData().getSeries().get_Item(0).getTrendLines().add(TrendlineType.Exponential);
    tredLinep.setDisplayEquation(false);
    tredLinep.setDisplayRSquaredValue(false);
    
    // チャート系列 1 に線形トレンドラインを追加
    ITrendline tredLineLin = chart.getChartData().getSeries().get_Item(0).getTrendLines().add(TrendlineType.Linear);
    tredLineLin.setTrendlineType(TrendlineType.Linear);
    tredLineLin.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
    tredLineLin.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
    
    
    // チャート系列 2 に対数トレンドラインを追加
    ITrendline tredLineLog = chart.getChartData().getSeries().get_Item(1).getTrendLines().add(TrendlineType.Logarithmic);
    tredLineLog.setTrendlineType(TrendlineType.Logarithmic);
    tredLineLog.addTextFrameForOverriding("New log trend line");
    
    // チャート系列 2 に移動平均トレンドラインを追加
    ITrendline tredLineMovAvg = chart.getChartData().getSeries().get_Item(1).getTrendLines().add(TrendlineType.MovingAverage);
    tredLineMovAvg.setTrendlineType(TrendlineType.MovingAverage);
    tredLineMovAvg.setPeriod((byte)3);
    tredLineMovAvg.setTrendlineName("New TrendLine Name");
    
    // チャート系列 3 に多項式トレンドラインを追加
    ITrendline tredLinePol = chart.getChartData().getSeries().get_Item(2).getTrendLines().add(TrendlineType.Polynomial);
    tredLinePol.setTrendlineType(TrendlineType.Polynomial);
    tredLinePol.setForward(1);
    tredLinePol.setOrder((byte)3);
    
    // チャート系列 3 にべき乗トレンドラインを追加
    ITrendline tredLinePower = chart.getChartData().getSeries().get_Item(1).getTrendLines().add(TrendlineType.Power);
    tredLinePower.setTrendlineType(TrendlineType.Power);
    tredLinePower.setBackward(1);
    
    // プレゼンテーションを保存
    pres.save("ChartTrendLines_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

カスタムラインの追加

Aspose.Slides for Java は、チャートにカスタムラインを追加するためのシンプルな API を提供します。プレゼンテーションの選択したスライドにシンプルな直線を追加するには、以下の手順に従ってください。

  • Presentation クラスのインスタンスを作成します。
  • インデックスを使用してスライドの参照を取得します。
  • Shapes オブジェクトが提供する AddChart メソッドを使用して新しいチャートを作成します。
  • Shapes オブジェクトが提供する AddAutoShape メソッドを使用して、ラインタイプの AutoShape を追加します。
  • シェイプの線の色を設定します。
  • 変更されたプレゼンテーションを PPTX ファイルとして書き込みます。

以下のコードは、カスタムライン付きのチャートを作成するために使用されます。

// Presentation クラスのインスタンスを作成
Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 400);
    IAutoShape shape = chart.getUserShapes().getShapes().addAutoShape(ShapeType.Line, 0, chart.getHeight()/2, chart.getWidth(), 0);
    
    shape.getLineFormat().getFillFormat().setFillType(FillType.Solid);
    shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(java.awt.Color.RED);
    
    pres.save("Presentation.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

FAQ

トレンドラインの「forward」と「backward」は何を意味しますか?

トレンドラインを前方または後方に投影した長さです。散布図(XY)チャートの場合は軸単位で、散布図以外の場合はカテゴリ数で表されます。0 以上の値のみが許可されます。

プレゼンテーションを PDF または SVG にエクスポートしたり、スライドを画像にレンダリングしたりする際に、トレンドラインは保持されますか?

はい。Aspose.Slides はプレゼンテーションを PDF/SVG に変換し、チャートを画像としてレンダリングします。チャートの一部であるトレンドラインはこれらの操作中に保持されます。また、チャート自体の画像を エクスポート するメソッドも利用可能です。