JavaによるECharts画像の生成
ECharts画像をJavaで作成する方法には、ECharts公式が提供しているJavaツールキット「echarts-java」を使用する方法があります。以下の手順により、ECharts画像を作成できます。
- 依存関係導入:Javaプロジェクトにecharts-javaの依存関係を追加します。
<dependency>
<groupId>com.github.abel533</groupId>
<artifactId>ECharts</artifactId>
<version>4.9.0</version>
</dependency>
- EChartsオブジェクトを作成する: EChartsクラスを使用して、EChartsオブジェクトを作成します。
ECharts eCharts = new ECharts();
- ECharts オプションの設定:ECharts オブジェクトにsetOptionメソッドを使用して、ECharts の設定オプションを設定します。JSON 文字列、Map オブジェクト、またはカスタムの Java オブジェクトによって、オプションを設定することができます。
// 使用JSON字符串设置选项
String optionJsonString = "{ \"title\": { \"text\": \"ECharts Example\" }, \"xAxis\": { \"data\": [\"A\", \"B\", \"C\", \"D\", \"E\"] }, \"series\": [ { \"type\": \"bar\", \"data\": [5, 20, 36, 10, 10] } ] }";
eCharts.setOption(optionJsonString);
// 使用Map对象设置选项
Map<String, Object> optionMap = new HashMap<>();
optionMap.put("title", Map.of("text", "ECharts Example"));
optionMap.put("xAxis", Map.of("data", List.of("A", "B", "C", "D", "E")));
optionMap.put("series", List.of(Map.of("type", "bar", "data", List.of(5, 20, 36, 10, 10))));
eCharts.setOption(optionMap);
- 画像生成:EChartsオブジェクトのtoBase64メソッドを使って画像をBase64エンコードで生成します。
String base64Image = eCharts.toBase64();
- 画像の保存:生成された画像は、ローカルファイルに保存するか、フロントエンドに返すことができます。
// 保存图片到本地文件
try {
byte[] imageBytes = Base64.getDecoder().decode(base64Image);
Files.write(Paths.get("echarts.png"), imageBytes);
} catch (IOException e) {
e.printStackTrace();
}
// 返回图片给前端
response.setContentType("image/png");
OutputStream outputStream = response.getOutputStream();
byte[] imageBytes = Base64.getDecoder().decode(base64Image);
outputStream.write(imageBytes);
outputStream.flush();
outputStream.close();
生成するECharts画像の大きさは、EChartsオブジェクトの幅と高さを設定することで調整することもできます。