poi-tl圖表替換類
1. 單系列餅圖
Integer[] r = {0,0,0,0};
ChartSingleSeriesRenderData issueServerityPie = Charts
.ofSingleSeries("問題嚴重等級分布", new String[] { "1", "2","3","4" })
.series("餅圖", r)
.create();
2. 多系列單類別條形圖(循環添加rlist中的數據,系列數為rlist.size())
public ChartMultiSeriesRenderData bar(Integer id) {
List<Map<String,Long>> rlist = getById(id);
ChartMultis cm = Charts.ofMultiSeries("多系列條形圖", new String[] { " " });
if(rlist.size() > 0) {
Collections.reverse(rlist);
rlist.forEach(r -> cm.addSeries(StringKit.of(r.get("r")), new Integer[] {NumberKit.parseInt(r.get("c"))}));
}else {
cm.addSeries("",new Integer[] {0});
}
ChartMultiSeriesRenderData chart = cm.create();
return chart;
}
3. 多系列多類別折線圖(intlist1 ,intlist2 ,intlist3 ,intlist4 總共有4個系例,類別數為任意intlist的size,每個系列的類別數必須相同
public ChartMultiSeriesRenderData line(Integer id) {
List<Data> datalist = getById(id);
List<String> orderlist = new ArrayList<>();
List<Integer> intlist1 = new ArrayList<>();
List<Integer> intlist2 = new ArrayList<>();
List<Integer> intlist3 = new ArrayList<>();
List<Integer> intlist4 = new ArrayList<>();
if(datalist .size() > 0) {
Collections.reverse(datalist );
datalist .forEach(r -> {
orderlist.add(r.getOrdernumber().toString());
intlist1.add(NumberKit.parseInt(r.getNew_issue_count()));
intlist2.add(NumberKit.parseInt(r.getExist_issue_count()));
intlist3.add(NumberKit.parseInt(r.getFixed_issue_count()));
intlist4.add(NumberKit.parseInt(r.getDisable_issue_count()));
});
}else {
orderlist.add("0");
intlist1.add(0);
intlist2.add(0);
intlist3.add(0);
intlist4.add(0);
}
ChartMultiSeriesRenderData chart = Charts.ofComboSeries("問題趨勢圖",orderlist.toArray(new String[orderlist.size()]))
.addLineSeries("1",intlist1.toArray(new Integer[intlist1.size()]))
.addLineSeries("2",intlist2.toArray(new Integer[intlist2.size()]))
.addLineSeries("3",intlist3.toArray(new Integer[intlist3.size()]))
.addLineSeries("4",intlist4.toArray(new Integer[intlist4.size()]))
.create();
return chart;
}