Pentaho ChartBeans
In this article, the Pentaho ChartBeans project is introduced. Pentaho ChartBeans is a wrapper around other chart engines (such as JFreeChart and Open Flash Chart). By wrapping these "chart engines," a single way of expressing charts has been created.
Prerequisites
Charting Terminology
To eliminate confusion in documentation, the Pentaho ChartBeans project has documented its preferred charting terminology. In addition to standardizing on terms for the purpose of the Pentaho ChartBeans project, this terminology page provides an excellent introduction to charting in general. Please review this page before proceeding.
ChartBeans
Pentaho ChartBeans requires three inputs: the data to be charted, the structure of the chart, and the styling of the chart.
Chart Data
The org.pentaho.chart.ChartData
interface is the format for data that is passed to Pentaho ChartBeans. ChartData
extends javax.swing.table.TableModel
to add row, column, and cell metadata. For example, ChartData
allows you to set row and column names. Row and column names are useful for giving meaningful names to series and categories.
Chart Document
The org.pentaho.chart.core.ChartDocument
class is a Java representation of a Pentaho ChartBeans XML document. It is a tree of org.pentaho.chart.core.ChartElement
instances. The structure of a chart includes elements like title, series, and plot.
Chart CSS
Pentaho ChartBeans uses Cascading Style Sheets (CSS) to style charts. Pentaho ChartBeans is not limited to the W3C's style attributes (although it attempts to use them where appropriate, for familiarity). By using CSS, Pentaho ChartBeans allows you to completely separate chart structure and style. You can use external style sheets, inline selectors, as well as class and style attributes. Using an external style sheet would allow an organization to create a consistent look to all of its charts.
- Start with the first action the user takes to solve the problem or accomplish the task. Try to avoid sub-steps if possible - refine your list to each separate task a user needs to execute.
- This is the next item in the list, chronologically.
- Etc., etc., until the last step.
Results
Explain briefly to users how they will know that the process was successful. Sometimes this is obvious; if so, leave this section out.
Examples
Reserve your sample code, example text, and screen shots for this area unless it is absolutely necessary to include them above.
Troubleshooting
What can go wrong? Cover common and known problems, then cover how you can discover the root of a problem (logging, debugging symbols, etc.)