This documentation targets the API shipped with Pentaho 8.2. Click here for the updated version shipped with Pentaho 8.3.
Configuring a Visualization
This article shows you how to create a configuration for a Visualization API visualization.
It is assumed that you have some basic knowledge on how to configure JavaScript types and instances on the Pentaho platform and on what constitutes a visualization. If not, you should first read Configuration API and Creating a visualization.
Visualizations are constituted by one
Model
type and (at least) one
View
type,
any of which can be seamlessly configured.
Section Identifiers of Stock Visualizations contains the list
of identifiers of stock Model
and View
types.
Additionally,
section Identifiers of Stock Color Palettes contains the list
of identifiers of stock color palettes.
The following sections show examples of typical Model
and View
configurations.
A single IRule object
is provided in each example,
but it should be interpreted as being part of the following generic configuration module:
define(function() {
"use strict";
var ruleSpec = { /* ... */ };
return {rules: [ruleSpec]};
});
Examples of typical Model configurations
Hiding a visualization from an application’s visualization list
The following rule configures the isBrowsable type attribute to hide the stock Pie visualization (and any visualizations that derive from it) from the Analyzer application’s visualizations menu, effectively preventing the user from creating new visualizations of this type:
var ruleSpec = {
select: {
module: "pentaho/visual/models/Pie",
application: "pentaho-analyzer"
},
apply: {
isBrowsable: false
}
};
Setting the default line width of a line chart and hiding the property
The following rule configures the default value of the lineWidth
property,
of both the Line and the Column/Line Combo stock visualizations,
to be 2
pixels and, additionally,
hides it from the Analyzer application’s properties panel,
effectively preventing the user from changing its default value:
var ruleSpec = {
select: {
module: [
"pentaho/visual/models/Line",
"pentaho/visual/models/BarLine"
],
application: "pentaho-analyzer"
},
apply: {
props: {
lineWidth: {
defaultValue: 2,
isBrowsable: false
}
}
}
};
Setting the default shape of points of a line chart
The following rule configures the default value of the shape
property of both
the Line and the Column/Line Combo stock visualizations,
when in any application,
to be the diamond
shape:
var ruleSpec = {
select: {
module: [
"pentaho/visual/models/Line",
"pentaho/visual/models/BarLine"
]
},
apply: {
props: {
shape: {
defaultValue: "diamond"
}
}
}
};
Changing the name of a visualization, as shown in the menu of an application
The following rule changes the label type attribute of the Bar stock visualization, affecting how it is displayed in the visualizations menu of the Analyzer and PDI applications:
var ruleSpec = {
select: {
module: "pentaho/visual/models/Bar",
application: [
"pentaho-analyzer",
"pentaho-det"
]
},
apply: {
label: "Vertical Bars"
}
};
Note that it is a best practice to load localizable text from a resource bundle. See pentaho/i18n.
Examples of typical View configurations
Note that view configuration is typically tied to the technology with which views are built. The ViewType#extension attribute exists to satisfy the pass-through of such options of the underlying technology. You should consult the view type documentation to find out about which extension properties it supports.
The views of stock visualizations are implemented using the CCC charting library, and can be customized using its rich set of extension points.
Thicken the axes rules of stock visualizations
The following rule changes the
lineWidth
property of the
baseAxisRule_
and
orthoAxisRule_
extension points,
of any applicable stock visualizations,
in any application:
var ruleSpec = {
select: {
module: "pentaho/ccc/visual/Abstract"
},
apply: {
extension: {
baseAxisRule_lineWidth: 2,
orthoAxisRule_lineWidth: 2
}
}
};
Change the default label font of axes’ ticks of stock visualizations
The following rule changes the
font
property of the
baseAxisLabel_
and
orthoAxisLabel_
extension points,
of any applicable stock visualizations,
when in the PDI application:
var ruleSpec = {
select: {
module: "pentaho/ccc/visual/AreaStacked",
application: "pentaho-det"
},
apply: {
extension: {
baseAxisLabel_font: "12px OpenSansRegular",
orthoAxisLabel_font: "12px OpenSansRegular"
}
}
};
Examples of color palette configurations
Change the colors of the default discrete color palette
The following rule changes the Palette#colors property of default nominal color palette, pentaho.visual.color.palettes.nominalPrimary, in any application:
var ruleSpec = {
select: {
module: "pentaho.visual.color.palettes.nominalPrimary"
},
apply: {
colors: [
"red", "#00FF00", "rgb(0,0,255)"
]
}
};
Change the colors used by a certain visualization
The following rule changes the default value of the “palette” property of the bar chart visualization, in any application, so that a specific ad hoc palette is used:
var ruleSpec = {
select: {
module: "pentaho/visual/models/Bar"
},
apply: {
props: {
palette: {
defaultValue: {
level: "nominal",
colors: ["red", "#00FF00", "rgb(0,0,255)"]
}
}
}
}
};
If, instead, you want to use a registered palette:
var ruleSpec = {
select: {
module: "pentaho/visual/models/Bar"
},
deps: [
"pentaho/visual/color/palettes/nominalLight"
],
apply: function(nominalLightPalette) {
return {
props: {
palette: {
defaultValue: nominalLightPalette
}
}
};
}
};
Identifiers of Stock Visualizations
The models of stock visualizations are all sub-modules of the pentaho/visual/models
module.
For example, pentaho/visual/models/Line
, is the identifier of the stock Line visualization model.
The corresponding CCC-based view of a stock visualization is a sub-module of the pentaho/ccc/visual
module.
For example, pentaho/ccc/visual/Line
, is the identifier of the CCC view corresponding to
the stock Line visualization model.
Local Module Id. | Description |
---|---|
Abstract |
All stock visualizations |
AreaStacked |
Area Stacked |
Line |
Line |
Bar |
Column |
BarStacked |
Column Stacked |
Bar |
Column Stacked 100% |
BarHorizontal |
Bar |
BarStackedHorizontal |
Bar Stacked |
BarNormalizedHorizontal |
Bar Stacked 100% |
BarLine |
Column/Line Combo |
Scatter |
X/Y Scatter |
Bubble |
Bubble |
HeatGrid |
Heat-Grid |
Pie |
Pie |
Donut |
Donut |
Sunburst |
Sunburst |
The Geo Map visualization is the exception to these rules.
Its model’s identifier is pentaho/geo/visual/Model
and its view’s identifier is pentaho/geo/visual/View
.
Identifiers of Stock Color Palettes
All stock color palettes are sub-modules of the pentaho/visual/color/palettes
module.
For example, pentaho/visual/color/palettes/nominalPrimary
,
is the identifier of the default discrete color palette.
Local Module Id. |
---|
nominalPrimary |
nominalNeutral |
nominalLight |
nominalDark |
quantitativeBlue3 |
quantitativeBlue5 |
quantitativeGray3 |
quantitativeGray5 |
divergentRyb3 |
divergentRyb5 |
divergentRyg3 |
divergentRyg5 |