Javaでのプレゼンテーション向けチャート計算の最適化

チャート要素の実際の値を計算する

Aspose.Slides for Java は、これらのプロパティを取得するためのシンプルな API を提供します。 IAxis インターフェイスのプロパティは、軸チャート要素の実際の位置に関する情報を提供します(IAxis.getActualMaxValueIAxis.getActualMinValueIAxis.getActualMajorUnitIAxis.getActualMinorUnitIAxis.getActualMajorUnitScaleIAxis.getActualMinorUnitScale。 プロパティに実際の値を設定するには、事前にメソッド IChart.validateChartLayout() を呼び出す必要があります。

Presentation pres = new Presentation();
try {
    Chart chart = (Chart)pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Area, 100, 100, 500, 350);
    chart.validateChartLayout();
    
    double maxValue = chart.getAxes().getVerticalAxis().getActualMaxValue();
    double minValue = chart.getAxes().getVerticalAxis().getActualMinValue();
    
    double majorUnit = chart.getAxes().getHorizontalAxis().getActualMajorUnit();
    double minorUnit = chart.getAxes().getHorizontalAxis().getActualMinorUnit();
} finally {
    if (pres != null) pres.dispose();
}

親チャート要素の実際の位置を計算する

Aspose.Slides for Java は、これらのプロパティを取得するためのシンプルな API を提供します。 IActualLayout インターフェイスのプロパティは、親チャート要素の実際の位置に関する情報を提供します(IActualLayout.getActualXIActualLayout.getActualYIActualLayout.getActualWidthIActualLayout.getActualHeight)。 プロパティに実際の値を設定するには、事前にメソッド IChart.validateChartLayout() を呼び出す必要があります。

Presentation pres = new Presentation();
try {
    Chart chart = (Chart) pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 350);
    chart.validateChartLayout();

    double x = chart.getPlotArea().getActualX();
    double y = chart.getPlotArea().getActualY();
    double w = chart.getPlotArea().getActualWidth();
    double h = chart.getPlotArea().getActualHeight();
} finally {
    if (pres != null) pres.dispose();
}

チャート要素の非表示

このトピックでは、チャートから情報を非表示にする方法を理解するのに役立ちます。 Aspose.Slides for Java を使用すると、チャートから タイトル、縦軸、横軸 および グリッド線 を非表示にできます。以下のコード例は、これらのプロパティの使用方法を示しています。

Presentation pres = new Presentation();
try {
    ISlide slide = pres.getSlides().get_Item(0);
    IChart chart = slide.getShapes().addChart(ChartType.LineWithMarkers, 140, 118, 320, 370);

    //チャートタイトルの非表示
    chart.setTitle(false);

    ///値軸の非表示
    chart.getAxes().getVerticalAxis().setVisible(false);

    //カテゴリ軸の非表示
    chart.getAxes().getHorizontalAxis().setVisible(false);

    //凡例の非表示
    chart.setLegend(false);

    //主グリッド線の非表示
    chart.getAxes().getHorizontalAxis().getMajorGridLinesFormat().getLine().getFillFormat().setFillType(FillType.NoFill);

    for (int i = 0; i < chart.getChartData().getSeries().size(); i++)
    {
        chart.getChartData().getSeries().removeAt(i);
    }

    IChartSeries series = chart.getChartData().getSeries().get_Item(0);

    series.getMarker().setSymbol(MarkerStyleType.Circle);
    series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
    series.getLabels().getDefaultDataLabelFormat().setPosition(LegendDataLabelPosition.Top);
    series.getMarker().setSize(15);

    //系列線の色を設定
    series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
    series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.MAGENTA);
    series.getFormat().getLine().setDashStyle(LineDashStyle.Solid);

    pres.save("HideInformationFromChart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

FAQ

外部 Excel ワークブックをデータ ソースとして使用できますか?また、再計算にどのように影響しますか?

はい。チャートは外部ワークブックを参照できます。外部ソースに接続またはリフレッシュすると、数式と値はそのワークブックから取得され、チャートは開く/編集する操作中に更新を反映します。API を使用すると、外部ワークブックを指定するパスを設定し、リンクされたデータを管理できます。

回帰分析を自分で実装せずにトレンドラインを計算・表示できますか?

はい。トレンドライン(線形、指数など)は Aspose.Slides によって追加および更新されます。パラメータはシリーズ データから自動的に再計算されるため、独自に計算を実装する必要はありません。

プレゼンテーションに外部リンクを持つ複数のチャートがある場合、各チャートが計算値に使用するワークブックを個別に制御できますか?

はい。各チャートはそれぞれの 外部ワークブック を指すことができ、あるいは他のチャートとは独立してチャートごとに外部ワークブックを作成または置換できます。