要在Java中使用Freemarker生成柱状图,首先需要准备好数据和模板文件。下面是一个简单的示例:
List<Map<String, Object>> data = new ArrayList<>();
Map<String, Object> item1 = new HashMap<>();
item1.put("label", "A");
item1.put("value", 10);
data.add(item1);
Map<String, Object> item2 = new HashMap<>();
item2.put("label", "B");
item2.put("value", 20);
data.add(item2);
Map<String, Object> item3 = new HashMap<>();
item3.put("label", "C");
item3.put("value", 30);
data.add(item3);
<html>
<head>
<title>Bar Chart</title>
</head>
<body>
<h1>Bar Chart</h1>
<table border="1">
<tr>
<th>Label</th>
<th>Value</th>
</tr>
<#list data as item>
<tr>
<td>${item.label}</td>
<td>${item.value}</td>
</tr>
</#list>
</table>
</body>
</html>
Configuration cfg = new Configuration(Configuration.VERSION_2_3_0);
cfg.setClassForTemplateLoading(ChartGenerator.class, "/");
Template template = cfg.getTemplate("bar_chart.ftl");
Map<String, Object> root = new HashMap<>();
root.put("data", data);
Writer out = new OutputStreamWriter(new FileOutputStream("bar_chart.html"));
template.process(root, out);
out.flush();
out.close();
以上代码将生成一个简单的包含数据的HTML文件,可以通过浏览器打开查看生成的柱状图。您可以根据自己的需求修改模板文件和数据,生成更复杂的柱状图。