Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Charts 强制堆叠条形图中分组的颜色_Charts_Grouping_Birt - Fatal编程技术网

Charts 强制堆叠条形图中分组的颜色

Charts 强制堆叠条形图中分组的颜色,charts,grouping,birt,Charts,Grouping,Birt,正如你所预料的,我现在被伯特困住了 如标题所示,我正在寻找一种方法,强制BIRT将特定颜色与堆叠条形图中的分组相关联 我需要这种行为,因为我正在使用相同的参数和数据源生成多个图表,但使用不同的过滤器 因为根据过滤器的不同,分组的重新划分并不完美,所以我在两个不同的图表中得到了相同分组的不同颜色 e、 g: 在图1中,我得到[A,B,C]分组,蓝色代表A,红色代表B,橙色代表C。 因为在图2中,我只得到[A,C]分组,蓝色代表A,红色代表C 如果两个图表在同一页中,这种行为会破坏连贯性 有人知道如

正如你所预料的,我现在被伯特困住了

如标题所示,我正在寻找一种方法,强制BIRT将特定颜色与堆叠条形图中的分组相关联

我需要这种行为,因为我正在使用相同的参数和数据源生成多个图表,但使用不同的过滤器

因为根据过滤器的不同,分组的重新划分并不完美,所以我在两个不同的图表中得到了相同分组的不同颜色

e、 g:

在图1中,我得到[A,B,C]分组,蓝色代表A,红色代表B,橙色代表C。 因为在图2中,我只得到[A,C]分组,蓝色代表A,红色代表C

如果两个图表在同一页中,这种行为会破坏连贯性


有人知道如何解决这个问题吗?

我在BIRT Exchange的DevShare上有一篇文章,就是这样做的:

图表脚本使用数据集中的值动态设置图表上的颜色。以下是图表上“beforeDrawDataPoint”事件的关键位:

var Condition = dph.getBaseDisplayValue();
if(Condition.contains("Critical")) { fill.set(255, 0, 0);} // Set to RED
else if(Condition.contains("High")){ fill.set(255, 255, 0); } // Set to Yellow
...

祝你好运

好的,谢谢你的回答,但它只涉及到桩本身。实际上,您的代码只适用于整个堆栈。我这里的问题是堆栈中包含的分组的着色。通过dph值,您可以获得所需的任何筛选条件,包括分组。使用参考样本中的策略,我已经完成了您在问题中描述的内容。你试过这个示例了吗?实际上,多亏了你,我自己得到了答案:)诀窍在于:var Condition=dph.getSeriesDisplayValue();一切正常。谢谢实际上,为了得到这个结果,您还必须设置Y值以及相同列的Y分组。