我正在进行一些犯罪分析并创建图表。在x轴上,我正在绘制犯罪类型,在y轴上,我们有犯罪计数和传说(Y值分组)我们有城镇。请查看附图BIRT.jpg,其中包含线图中的所有内容
这是我在BIRT中创建的图表。现在我想将我的城镇行更改为栏。这样我就可以将我的城镇与城镇的其他地方进行比较。例如,请参阅Bar和line.jpg,其中My Town显示为Bar
感谢您的帮助
此致
赛
答案 0 :(得分:0)
以下是您需要的示例。在下图中,我们使用了两个系列:
它也适用于条形图而不是区域,不幸的是,当我们使用“Y系列分组”时,混合条形图和线条系列效果不佳。
此报告可在线获取here。如您所见,图例项目按预期显示,因为它们在“beforeDrawLegendItem”事件中被过滤。我不知道为什么这个功能本身不受支持,可能你应该报告Eclipse bugzilla中的一个错误。似乎允许识别应该隐藏哪些项目的唯一方法是使用调色板:这里我们将我们想要保留的所有颜色设置为“渐变”,并且我们将其他颜色设置为简单颜色。这真的很棘手,但确实有效。
先决条件是,所选项目(在您的情况下为“我的城镇”)应该是第一行:在“可选Y系列分组”中,输入排序表达式以便此特定项目将是第一个。
然后:
以下是脚本“ beforeDrawLegendItem ”
function beforeDrawLegendItem( lerh, bounds, icsc )
{
try{
var gradient=lerh.getFill().getClass().isAssignableFrom(GradientImpl);
if (!gradient){ //not a gradient, we must hide this legend item
bounds.setWidth(0);
bounds.setHeight(0);
lerh.getLabel().setVisible(false);
}else{
lerh.getLabel().setVisible(true);
}
}catch(e){
}
}