要在Java中生成ECharts圖片,您可以使用ECharts官方提供的Java工具庫echarts-java。以下是生成ECharts圖片的基本步驟:
<dependency>
<groupId>com.github.abel533</groupId>
<artifactId>ECharts</artifactId>
<version>4.9.0</version>
</dependency>
ECharts eCharts = new ECharts();
// 使用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);
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();
通過以上步驟,您就可以在Java中生成ECharts圖片了。請注意,您還可以通過設置ECharts對象的寬度和高度來調整生成的圖片大小。