...
In this example Pentaho ChartBeans is used to render a standalone PNG image and an HTML page with an embedded Flash chart object.
The full source of this example is attached. It is a zipped Eclipse project called pentaho-chartbeans-demo. An included readme file instructs you how to run the example.
Chart Data
In this example, a ChartTableModel
is created consisting of 21 rows and 3 columns. This example also adds some row and column metadata.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
private static void renderUsingOpenFlashChartPlugin(final ChartModel chartModel, final ChartTableModel chartTableModel, final String chartOutputFilename) throws Exception { final IChartPlugin plugin = ChartPluginFactory .getInstance("org.pentaho.chart.plugin.openflashchart.OpenFlashChartPlugin"); ChartDocumentContext cdc = ChartFactory.generateChart(chartModel, chartTableModel); IOutput output = plugin.renderChartDocument(cdc, chartTableModel); ByteArrayOutputStream tmpOut = new ByteArrayOutputStream(); output.persistChart(tmpOut, IOutput.OutputTypes.DATA_TYPE_STREAM, 400, 400); final String ENCODING = "UTF-8"; ByteArrayInputStream in = new ByteArrayInputStream(tmpOut.toByteArray()); IOUtils.closeQuietly(tmpOut); String openFlashChartJson = IOUtils.toString(in, ENCODING); IOUtils.closeQuietly(in); final String HTML_TEMPLATE = "<html>\n" + " <head>\n" + " <title>Bar Chart Using Open Flash Chart Plugin</title>\n" + " <script type=\"text/javascript\">window.getChartData = function() '{' return ''{0}''; '}'</script>\n" + " </head>\n" + " <body>\n" + " <object id=\"ofco00b1c87708fe11dea97da1e1ba5b86bc\" height=\"100%\" align=\"middle\" width=\"100%\" \n" + " codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\" \n" + " classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"> \n" + " <param value=\"sameDomain\" name=\"allowScriptAccess\"/><param value=\"opaque\" name=\"wmode\"/> \n" + " <param value=\"open-flash-chart.swf?get-data=getChartData\" name=\"movie\"/> \n" + " <param value=\"high\" name=\"quality\"/><embed id=\"ofce00b1c87708fe11dea97da1e1ba5b86bc\" \n" + " height=\"100%\" align=\"middle\" width=\"100%\" \n" + " pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" \n" + " allowscriptaccess=\"sameDomain\" bgcolor=\"#FFFFFF\" quality=\"high\" wmode=\"opaque\" \n" + " src=\"open-flash-chart.swf?get-data=getChartData\"/></object>\n" + " </body>\n" + "</html>"; String html = MessageFormat.format(HTML_TEMPLATE, new String[] { openFlashChartJson }); FileUtils.writeStringToFile(new File(chartOutputFilename), html, "UTF-8"); } |
The full source of this example is attached. It is a zipped Eclipse project called pentaho-chartbeans-demo. An included readme file instructs you how to run the example.
Example from an End User Perspective
...
Panel | ||||
---|---|---|---|---|
| ||||
...
Status
ChartComponent (In Progress)
...