This chart uses an inner "datasimulation" tag to create random series of data. You can create your own custom tags to supply data to KavaChart's chart tags. This gives you the flexibility to plug any data source into any chart.

Viewing the Java source code for this page, you'll see that we also added a couple of ad-hoc "param" tags to change the dataset names, and to add these dataset names to the tooltip labels over each bar. You can use inner param tags to override any chart properties set by the DataProvider or the properties sheet.

The "titleString" property can be modified by changing a request parameter, since it uses a dynamic value. You can change any chart property: titles, colors, chart type, etc. based on dynamic values, an important feature for dynamically generated pages. Click here to see the title change.

Another interesting aspect of this chart is that, like all the charts in these samples, it effectively mixes HTML text and graphics without saving any chart image to the server. The tag library accomplishes this by returning an IMG tag that references a cooperative servlet to supply the image bytes.

The most interesting thing about this chart, however, is that dynamically generated chart images that appear over each bar. This is an effective way of creating drill-down information without navigating to a new page. We achieve this by using the KavaChart chart servlet to generate image data instead of a simple text label.