我要求在jasper报告中在饼图中显示负值。我能够使用定制器类来实现这一点。在createCustomizedDataset方法中,我正在检查值是否为负,然后在生成标签时我将附加&#34 ; - "登录
PiePlot piePlot = (PiePlot) chart.getPlot();
PieDataset dataset = piePlot.getDataset(); // line 1
PieDataset dataset1 = createCustomizedDataset(dataset,piePlot);
piePlot.setDataset(dataset1);
StandardPieSectionLabelGenerator labelGen = new StandardPieSectionLabelGenerator(
"{1}") {
@SuppressWarnings("rawtypes")
@Override
public String generateSectionLabel(PieDataset dataset, Comparable key) {
String label = super.generateSectionLabel(dataset, key);
if(dataSetKeys.contains(key.toString())){
return "-"+label;
}else{
return label;
}
}
};
输出如下:
问题是:如果负值有多个条目,我会得到一个不同的类别,其中负值组合在一起。在第1行,这些负值的数据集键是“其他”。这里我有两个类别价值为" -2.02"和#34; -0.01"。因此,不是显示两个切片,而是显示一个2.02 + 0.01 = 2.03的切片。问题是自定义方法中的数据集就是这样。
答案 0 :(得分:0)
我解决了,因为在聊天编辑向导中最小表达式设置为0.删除它以解决问题。