要在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对象的宽度和高度来调整生成的图片大小。