在Pentaho CDE条形图中更改条形图的颜色

时间:2015-08-11 21:13:08

标签: colors bar-chart pentaho-cde

正如主题所述,我不太确定如何更改CDE仪表板条形图中用户选择的栏的颜色。 在clickaction()方法中,我想做类似

的事情
function f() {
    var mychart = this;
    var bar = mychart.getSelection();
    bar.color('red');
}

有人可以帮我吗?主要问题是我不太确定在哪里可以找到我可以在JS中使用的所有对象和方法的文档。就像是否有办法访问仪表板中的特定对象?像:

var chartXY = Dashboards.getObject('Chart XY');

我希望任何人都可以提供一些有用的链接或一些可以在JS中使用的方法的文档。 提前谢谢。

1 个答案:

答案 0 :(得分:2)

好的,我自己管理,想和你们分享。 我这样做了,在PreExecution我添加了:

function changeBars(){
var cccOptions = this.chartDefinition;

// For changing extension points, a little more work is required:
var eps = Dashboards.propertiesArrayToObject(cccOptions.extensionPoints);

// add extension points:
eps.bar_fillStyle = function getColor(){
    var val = this.scene.vars.value.value;
    var atom = this.scene.atoms;
    var category = atom.category.label;

    if(category == selection_param){
        return "red";
    }else{
        return "blue";
    }
};

// Serialize back eps into cccOptions
cccOptions.extensionPoints = Dashboards.objectToPropertiesArray(eps);
} 

您需要侦听selected_pa​​ram,每次选择特定图表的条形时,都会设置该参数。我希望这是有帮助的。如果有更优雅的方式,请告诉我。