1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Javaを使用してPowerPointで散布図を作成する方法

Last updated at Posted at 2022-02-15

散布図は、名前の示すように、散布点で構成されるグラフであり、これらの点が配置される場所は、X値とY値によって決まります。ゆえにXY散布図とも呼ばれます。この記事では、Javaコードの例を使用してPowerPointスライドに散布図を作成する方法を示します。

##チャートを作成する前に
PowerPointを操作するためのjarパッケージ**Free Spire.Presentation for Java**をJavaプログラムにインポートする必要があります。インポートするには、次の方法を参照してください。

jarパッケージを手動でインポートします。jarパッケージをローカルにダウンロードして解凍し、libフォルダーでjarファイルを見つける必要があります。次に、以下の手順に従ってインポートします。
01.png
02.png
03.png
##チャートを作成するとき

データソースを指定して、スライドの指定した座標にグラフを挿入します。Jarパッケージは、特定のタイプのグラフをスライドに追加するためのShapeCollection.appendChart(ChartType type、Rectangle2Drectangle、boolean init)メソッドを提供します。ChartType列挙は、散布図、縦棒グラフ、円グラフを含むがこれらに限定されない73のグラフタイプを事前定義します。チャートなど

今回は、散布図は主に次の手順で作成されます。

Presentationクラスのインスタンスを作成します。
ShapeCollection.appendChart()メソッドを使用して、特定のスライドに散布図を追加します。
ChartData.get().setValue()メソッドを使用してグラフデータを設定します。
IChartインターフェースが提供するメソッドを使用して、チャートタイトル、軸タイトル、シリーズラベルなどを設定します。
グリッド線のスタイルとデータポイントの線のスタイルを設定します。
Presentation.saveToFile()メソッドを使用して、ドキュメントを指定されたパスに保存します。

##Javaコード一覧

import com.spire.presentation.FileFormat;
import com.spire.presentation.Presentation;
import com.spire.presentation.SlideSizeType;
import com.spire.presentation.TextLineStyle;
import com.spire.presentation.charts.ChartType;
import com.spire.presentation.charts.IChart;
import com.spire.presentation.charts.entity.ChartDataLabel;
import com.spire.presentation.drawing.FillFormatType;

import java.awt.*;
import java.awt.geom.Rectangle2D;

public class ScatterChart {
    public static void main(String[] args) throws Exception{
        //Presentationクラスのインスタンスを作成する
        Presentation presentation = new Presentation();
        presentation.getSlideSize().setType(SlideSizeType.SCREEN_16_X_9);

        //最初のスライドに散布図を追加する
        IChart chart = presentation.getSlides().get(0).getShapes().appendChart(ChartType.SCATTER_MARKERS,new Rectangle2D.Float(180, 80, 550, 320),false);

        //チャートタイトルを設定する
        chart.getChartTitle().getTextProperties().setText("散布図");
        chart.getChartTitle().getTextProperties().isCentered(true);
        chart.getChartTitle().setHeight(20f);
        chart.hasTitle(true);

        //グラフのデータソースを設定する
        Double[] xData = new Double[] { 1.0, 2.4, 5.0, 8.9 };
        Double[] yData = new Double[] { 5.3, 15.2, 6.7, 8.0 };
        chart.getChartData().get(0,0).setText("X-值");
        chart.getChartData().get(0,1).setText("Y-值");
        for (int i = 0; i < xData.length; i++) {
            chart.getChartData().get(i+1,0).setValue(xData[i]);
            chart.getChartData().get(i+1,1).setValue(yData[i]);
        }

        //シリーズラベルを設定する
        chart.getSeries().setSeriesLabel(chart.getChartData().get("B1","B1"));

        //X軸とY軸の値を設定する
        chart.getSeries().get(0).setXValues(chart.getChartData().get("A2","A5"));
        chart.getSeries().get(0).setYValues(chart.getChartData().get("B2","B5"));

        //データラベルを追加する
        for (int i = 0; i < 4; i++)
        {
            ChartDataLabel dataLabel = chart.getSeries().get(0).getDataLabels().add();
            dataLabel.setLabelValueVisible(true);
        }

        //一次軸と二次軸のタイトルを設定する
        chart.getPrimaryValueAxis().hasTitle(true);
        chart.getPrimaryValueAxis().getTitle().getTextProperties().setText("X轴 タイトル");
        chart.getSecondaryValueAxis().hasTitle(true);
        chart.getSecondaryValueAxis().getTitle().getTextProperties().setText("Y轴 タイトル");

        //グリッド線を設定する
        chart.getSecondaryValueAxis().getMajorGridTextLines().setFillType(FillFormatType.SOLID);
        chart.getSecondaryValueAxis().getMajorGridTextLines().setStyle(TextLineStyle.THIN_THIN);
        chart.getSecondaryValueAxis().getMajorGridTextLines().getSolidFillColor().setColor(Color.GRAY);
        chart.getPrimaryValueAxis().getMajorGridTextLines().setFillType(FillFormatType.NONE);

        //データポイントラインを設定する
        chart.getSeries().get(0).getLine().setFillType(FillFormatType.SOLID);
        chart.getSeries().get(0).getLine().setWidth(0.1f);
        chart.getSeries().get(0).getLine().getSolidFillColor().setColor(Color.BLUE);

        //ドキュメントを保存する
        presentation.saveToFile("ScatterChart.pptx", FileFormat.PPTX_2013);
        presentation.dispose();
    }
}

04.png
##結語
以上は今回のPowerPointで散布図を作成する方法でした、最後までお読みいただき、誠にありがとうございます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?