折れ線グラフは、特定の期間におけるデータの変化または傾向を表す基本的なグラフのタイプです。このグラフはデータ点を折れ線で接続します。折れ線グラフは1つのデータセットの単線を含むことも、2つ以上のデータセットの複数線を含むこともできます。この記事では、Spire.XLS for Java を使用して Excel で折れ線グラフを作成する方法を紹介します。
Spire.XLS for Java をインストールします
まず、Spire.XLS for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls</artifactId>
<version>13.3.1</version>
</dependency>
</dependencies>
Excel で折れ線グラフを作成する
Spire.XLS for Java では、Worksheet.getCharts().add(ExcelChartType.Line) メソッドはシートに折れ線グラフを追加することをサポートしています。次に、必要なデータ範囲とグラフの要素を設定します。以下に詳細な操作手順を示します。
- Workbook クラスのインスタンスを作成します。
- Workbook.getWorksheets().get(sheetIndex) メソッドを使用して、インデックス(ゼロから始まる)で最初のワークシートを取得します。
- シートにデータを追加します。
- Worksheet.getCharts().add(ExcelChartType.Line) メソッドを使用して、シートに折れ線グラフを追加します。
- Chart.setDataRange() メソッドを使用して、グラフのデータ範囲を設定します。
- グラフの位置、タイトル、カテゴリ軸のタイトル、数値軸のタイトルを設定します。
- グラフのデータ系列をループします。
- ChartSerie.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true) メソッドを使用して、各データ系列のデータポイントのデータ ラベルを表示します。
- Chart.getLegend().setPosition() メソッドを使用して、グラフの凡例の位置を設定します。
- Workbook.saveToFile() メソッドを使用して結果ファイルを保存します。
- Java
import com.spire.xls.*;
import com.spire.xls.charts.ChartSerie;
import java.awt.*;
public class CreateLineChart {
public static void main(String []args){
//Workbookのインスタンスを作成する
Workbook workbook = new Workbook();
//最初のシートを取得する
Worksheet sheet = workbook.getWorksheets().get(0);
//シート名を設定する
sheet.setName("Line Chart");;
//グリッド線を隠す
sheet.setGridLinesVisible(false);
//シートにデータを追加する
sheet.getRange().get("A1").setValue("国");
sheet.getRange().get("A2").setValue("キューバ. ");
sheet.getRange().get("A3").setValue("メキシコ. ");
sheet.getRange().get("A4").setValue("フランス. ");
sheet.getRange().get("A5").setValue("ドイツ");
sheet.getRange().get("B1").setValue("6月");
sheet.getRange().get("B2").setNumberValue(3300);
sheet.getRange().get("B3").setNumberValue(2300);
sheet.getRange().get("B4").setNumberValue(4500);
sheet.getRange().get("B5").setNumberValue(6700);
sheet.getRange().get("C1").setValue("7月");
sheet.getRange().get("C2").setNumberValue(7500);
sheet.getRange().get("C3").setNumberValue(2900);
sheet.getRange().get("C4").setNumberValue(2300);
sheet.getRange().get("C5").setNumberValue(4200);
sheet.getRange().get("D1").setValue("8月");
sheet.getRange().get("D2").setNumberValue(7700);
sheet.getRange().get("D3").setNumberValue(6900);
sheet.getRange().get("D4").setNumberValue(8400);
sheet.getRange().get("D5").setNumberValue(4200);
sheet.getRange().get("E1").setValue("9月");
sheet.getRange().get("E2").setNumberValue(8000);
sheet.getRange().get("E3").setNumberValue(7200);
sheet.getRange().get("E4").setNumberValue(8300);
sheet.getRange().get("E5").setNumberValue(5600);
//指定したセルのフォントと塗りつぶし色を設定する
sheet.getRange().get("A1:E1").getStyle().getFont().isBold(true);
sheet.getRange().get("A2:E2").getStyle().setKnownColor(ExcelColors.LightYellow);;
sheet.getRange().get("A3:E3").getStyle().setKnownColor(ExcelColors.LightGreen1);
sheet.getRange().get("A4:E4").getStyle().setKnownColor(ExcelColors.LightOrange);
sheet.getRange().get("A5:E5").getStyle().setKnownColor(ExcelColors.LightTurquoise);
//セルの枠線を設定する
sheet.getRange().get("A1:E5").getStyle().getBorders().getByBordersLineType(BordersLineType.EdgeTop).setColor(new Color(0, 0, 128));
sheet.getRange().get("A1:E5").getStyle().getBorders().getByBordersLineType(BordersLineType.EdgeTop).setLineStyle(LineStyleType.Thin);
sheet.getRange().get("A1:E5").getStyle().getBorders().getByBordersLineType(BordersLineType.EdgeBottom).setColor(new Color(0, 0, 128));
sheet.getRange().get("A1:E5").getStyle().getBorders().getByBordersLineType(BordersLineType.EdgeBottom).setLineStyle(LineStyleType.Thin);
sheet.getRange().get("A1:E5").getStyle().getBorders().getByBordersLineType(BordersLineType.EdgeLeft).setColor(new Color(0, 0, 128));
sheet.getRange().get("A1:E5").getStyle().getBorders().getByBordersLineType(BordersLineType.EdgeLeft).setLineStyle(LineStyleType.Thin);
sheet.getRange().get("A1:E5").getStyle().getBorders().getByBordersLineType(BordersLineType.EdgeRight).setColor(new Color(0, 0, 128));
sheet.getRange().get("A1:E5").getStyle().getBorders().getByBordersLineType(BordersLineType.EdgeRight).setLineStyle(LineStyleType.Thin);
//数値のフォーマットを設定する
sheet.getRange().get("B2:D5").getStyle().setNumberFormat("\"$\"#,##0");
//シートへの折れ線グラフを追加する
Chart chart = sheet.getCharts().add(ExcelChartType.Line);
//グラフのデータ範囲を設定する
chart.setDataRange(sheet.getRange().get("A1:E5"));
//グラフの位置を設定する
chart.setLeftColumn(1);
chart.setTopRow(6);
chart.setRightColumn(11);
chart.setBottomRow(29);
//グラフのタイトルを設定してフォーマットする
chart.setChartTitle("販売レポート");
chart.getChartTitleArea().isBold(true);
chart.getChartTitleArea().setSize(12);
//カテゴリ軸のタイトルを設定してフォーマットする
chart.getPrimaryCategoryAxis().setTitle("月");
chart.getPrimaryCategoryAxis().getFont().isBold(true);
chart.getPrimaryCategoryAxis().getTitleArea().isBold(true);
//値軸のタイトルを設定してフォーマットする
chart.getPrimaryValueAxis().setTitle("売上高");
chart.getPrimaryValueAxis().hasMajorGridLines(false);
chart.getPrimaryValueAxis().getTitleArea().setTextRotationAngle(-90);
chart.getPrimaryValueAxis().setMinValue(1000);
chart.getPrimaryValueAxis().getTitleArea().isBold(true);
//グラフのデータ系列をループする
for(ChartSerie cs : (Iterable) chart.getSeries())
{
cs.getFormat().getOptions().isVaryColor(true);
//データポイントのデータラベルを表示する
cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
}
//グラフの凡例の位置を設定する
chart.getLegend().setPosition(LegendPositionType.Top);
//結果ファイルを保存する
workbook.saveToFile("LineChart.xlsx", ExcelVersion.Version2016);
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。