我有一个 CCC Heat Grid 组件,其中数据“值”(下例中的traffic_light)始终为 1、2、3 或 null - 我想为热图单元格着色,以便所有 1 为绿色,所有 2 为黄色和所有 3 都是红色的。我不能使用 CDE 中可用的“颜色”数组,因为如果我的数据集不包含其中一个可能的值,则会分配数组中的下一个颜色,并且颜色会变得混乱。所以我想我需要用javascript来攻击它。
我尝试使用已在条形图上成功使用的 colorMap,但在 Heat Grid 中它似乎根本没有做任何事情 - 它只是继续使用默认配色方案,根据数据更改颜色在数据集中。
我在 Heat Grid 组件的 Post-Fetch 中有以下代码:
function f() {
this.chartDefinition.colorMap = {
"1": "green",
"2": "yellow",
"3": "red"
};
}
数据集的输出样本如下:
competency_name full_name expiry_date traffic_light
Drilling Licence ACKERLEY NULL 3
Drivers Licence ACKERLEY NULL 3
Heavy Machinery ACKERLEY NULL 3
Project Management ACKERLEY NULL 3
Drilling Licence ALBRIGHT 2016-10-05 2
Heavy Machinery ALBRIGHT 2017-09-05 1
Project Management ALBRIGHT NULL 1
Project Management ANDERSON NULL 3
Heavy Machinery ARMSTRONG NULL 3
Drilling Licence BAILEY NULL 3
其他可能相关的 CDE 设置:
- crossTabMode = 真
- seriesInRows = 假
- 类别角色 = 类别
- 系列角色 = 类别 2
- 大小角色 =
- 颜色角色 = 值
- colorScaleType = 离散
我错过了什么吗?似乎有一些特定于热网格(或我的数据结构)的东西,我需要做不同的事情,但我无法弄清楚。任何帮助表示赞赏。
我正在使用 Pentaho 5.2,运行 CDF、CDA、CDE 和 CGG 的 16.01.22 版