Java PowerPointスライドに散点図を作成

<h1><strong>はじめに</strong></h1>
<p>散点図とは、あるデータを元にして縦軸と横軸の2つの項目で量を計測し、分布を表現するために使うグラフのことです。<strong>散</strong><strong>点</strong><strong>図</strong>には2つの軸があります。1つの水平軸（x軸）と1つの垂直軸（y軸）は、1つのデータ系列だけを受け入れます。今回は<strong><a href="https://www.e-iceblue.com/Introduce/presentation-for-java.html">Spire.Presentation for Java</a></strong>を利用してスライドに散布図を作成する方法を紹介します。</p>
<h1><strong>下準備</strong></h1>
<p>1.E-iceblueの公式サイトから<strong><a href="https://www.e-iceblue.com/Download/presentation-for-java.html">Spire. Presentation for Java</a></strong>をダウンロードしてください。<P>
2. IDEを起動して新規プロジェクトを作成してから、インストールされたファイルにあった相応しいSpire. Presentation.jarを参照に追加してください。</p>
<h1><strong>Maven</strong><strong>の側なら</strong></h1>
```JAVA
<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <url>https://repo.e-iceblue.com/repository/maven-public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.Presentation</artifactId>
        <version>6.6</version>
    </dependency>
</dependencies>
```


<h1><strong>スライドに散</strong><strong>点</strong><strong>図を作成</strong></h1>
<p><strong><a href="https://www.e-iceblue.com/Introduce/presentation-for-java.html">Spire.Presentation for Java</a></strong>は、ShapeCollection.apendChart（ChartType、Rectangle 2 D rectangle、bolean init）方法でスライドに特定のタイプのグラフを追加し、ChartTypeは、散点図、柱図、円グラフなどを含むが、73種類以上の図表タイプをプリ定義しています。</p>
<p>以下は、点々図を作成する具体的な方法とステップになります。</p>
<ul>
<li><strong>Presentation</strong>クラスの例を作成します。</li>
<li><strong>Shape Collection.appndChart</strong>を使用して、散点図を特定のスライドに添付します。</li>
<li>チャートデータは<strong>ChartData.get().setValue()</strong>で設定します。</li>
<li><strong>IChart</strong>インターフェースで提供する方法で、グラフタイトル、軸タイトル、シリーズラベルなどを設定します。</li>
<li>グリッド線スタイルとデータ点線スタイルを設定します。</li>
<li><strong>Presentation.saveToFile()</strong>メソッドを使用してドキュメントを指定のパスに保存します。</li>
</ul>
```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 CreateScatterChart {

    public static void main(String[] args) throws Exception {

        //Create a Presentation object
        Presentation presentation = new Presentation();
        presentation.getSlideSize().setType(SlideSizeType.SCREEN_16_X_9);

        //Add a scatter chart to the first slide
        IChart chart = presentation.getSlides().get(0).getShapes().appendChart(ChartType.SCATTER_SMOOTH_LINES_AND_MARKERS,new Rectangle2D.Float(40, 80, 550, 320),false);

        //Set the chart title
        chart.getChartTitle().getTextProperties().setText("スライドに散点図");
        chart.getChartTitle().getTextProperties().isCentered(true);
        chart.getChartTitle().setHeight(20f);
        chart.hasTitle(true);

        //Set the chart data
        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-Values");
        chart.getChartData().get(0,1).setText("Y-Values");
        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]);
        }

        //Set the series label
        chart.getSeries().setSeriesLabel(chart.getChartData().get("B1","B1"));

        //Set the X and Y values
        chart.getSeries().get(0).setXValues(chart.getChartData().get("A2","A5"));
        chart.getSeries().get(0).setYValues(chart.getChartData().get("B2","B5"));

        //Add data labels
        for (int i = 0; i < 4; i++)
        {
            ChartDataLabel dataLabel = chart.getSeries().get(0).getDataLabels().add();
            dataLabel.setLabelValueVisible(true);
        }

        //Set the primary axis title and the secondary axis title
        chart.getPrimaryValueAxis().hasTitle(true);
        chart.getPrimaryValueAxis().getTitle().getTextProperties().setText("X軸タイトル");
        chart.getSecondaryValueAxis().hasTitle(true);
        chart.getSecondaryValueAxis().getTitle().getTextProperties().setText("Y軸タイトル");

        //Set the grid line
        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);

        //Set the data point line
        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);

        //Save the document to file
        presentation.saveToFile("output/ScatterChart.pptx", FileFormat.PPTX_2016);
    }
}
```



<p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/l/lendoris/20211109/20211109144612.png" alt="f:id:lendoris:20211109144612p:plain" width="554" height="363" loading="lazy" title="" class="hatena-fotolife" itemprop="image" /></p>
<h1><strong>最後に</strong></h1>
<p>ここまで読んでくださってありがとうございます！もし<strong><a href="https://www.e-iceblue.com/Introduce/presentation-for-java.html">Spire.Presentation for Java</a></strong>を利用している時にご不明なところがございましたら、ぜひご連絡ください</p>
<p> </p>