<p>Hello,</p>
<p> </p>
<p>I need to create Pie Charts from the data available in a table in BIRT.</p>
<p>Could someone give me a working example for a pie chart generated from static data?</p>
<p> </p>
<p>I checked the Chart Examples in BIRT. But I don't know how to use it in a report.</p>
<p> </p>
<p>Here is the code mentioned:</p>
<p> </p>
<div>/***********************************************************************</div>
<div> * Copyright (c) 2004, 2005 Actuate Corporation.</div>
<div> * All rights reserved. This program and the accompanying materials</div>
<div> * are made available under the terms of the Eclipse Public License v1.0</div>
<div> * which accompanies this distribution, and is available at</div>
<div> * <a data-ipb='nomediaparse' href='
http://www.eclipse.org/legal/epl-v10.html'>http://www.eclipse.org/legal/epl-v10.html</a></div>
<div> *</div>
<div> * Contributors:</div>
<div> * Actuate Corporation - initial API and implementation</div>
<div> ***********************************************************************/</div>
<div> </div>
<div>package org.eclipse.birt.chart.examples.view.models;</div>
<div> </div>
<div>import org.eclipse.birt.chart.model.Chart;</div>
<div>import org.eclipse.birt.chart.model.ChartWithoutAxes;</div>
<div>import org.eclipse.birt.chart.model.attribute.ChartDimension;</div>
<div>import org.eclipse.birt.chart.model.component.Series;</div>
<div>import org.eclipse.birt.chart.model.component.impl.SeriesImpl;</div>
<div>import org.eclipse.birt.chart.model.data.BaseSampleData;</div>
<div>import org.eclipse.birt.chart.model.data.DataFactory;</div>
<div>import org.eclipse.birt.chart.model.data.NumberDataSet;</div>
<div>import org.eclipse.birt.chart.model.data.OrthogonalSampleData;</div>
<div>import org.eclipse.birt.chart.model.data.SampleData;</div>
<div>import org.eclipse.birt.chart.model.data.SeriesDefinition;</div>
<div>import org.eclipse.birt.chart.model.data.TextDataSet;</div>
<div>import org.eclipse.birt.chart.model.data.impl.NumberDataSetImpl;</div>
<div>import org.eclipse.birt.chart.model.data.impl.SeriesDefinitionImpl;</div>
<div>import org.eclipse.birt.chart.model.data.impl.TextDataSetImpl;</div>
<div>import org.eclipse.birt.chart.model.impl.ChartWithoutAxesImpl;</div>
<div>import org.eclipse.birt.chart.model.layout.Legend;</div>
<div>import org.eclipse.birt.chart.model.type.PieSeries;</div>
<div>import org.eclipse.birt.chart.model.type.impl.PieSeriesImpl;</div>
<div> </div>
<div>public class Pie</div>
<div>{</div>
<div> </div>
<div>public static final Chart createPie( )</div>
<div>{</div>
<div>ChartWithoutAxes cwoaPie = ChartWithoutAxesImpl.create( );</div>
<div>cwoaPie.setDimension( ChartDimension.TWO_DIMENSIONAL_WITH_DEPTH_LITERAL );</div>
<div>cwoaPie.setType( "Pie Chart" ); //$NON-NLS-1$<span> </span></div>
<div>cwoaPie.setSubType( "Standard Pie Chart" ); //$NON-NLS-1$</div>
<div> </div>
<div>// Plot</div>
<div>cwoaPie.setSeriesThickness( 10 );</div>
<div> </div>
<div>// Legend</div>
<div>Legend lg = cwoaPie.getLegend( );</div>
<div>lg.getOutline( ).setVisible( true );</div>
<div> </div>
<div>// Title</div>
<div>cwoaPie.getTitle( ).getLabel( ).getCaption( ).setValue( "Pie Chart" );//$NON-NLS-1$</div>
<div> </div>
<div>// Data Set</div>
<div>TextDataSet categoryValues = TextDataSetImpl.create( new String[]{</div>
<div>"New York", "Boston", "Chicago", "San Francisco", "Dallas"} );//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$</div>
<div>NumberDataSet seriesOneValues = NumberDataSetImpl.create( new double[]{</div>
<div>54.65, 21, 75.95, 91.28, 37.43</div>
<div>} );</div>
<div> </div>
<div>SampleData sdata = DataFactory.eINSTANCE.createSampleData( );</div>
<div>BaseSampleData sdBase = DataFactory.eINSTANCE.createBaseSampleData( );</div>
<div>sdBase.setDataSetRepresentation( "" );//$NON-NLS-1$</div>
<div>sdata.getBaseSampleData( ).add( sdBase );</div>
<div> </div>
<div>OrthogonalSampleData sdOrthogonal = DataFactory.eINSTANCE.createOrthogonalSampleData( );</div>
<div>sdOrthogonal.setDataSetRepresentation( "" );//$NON-NLS-1$</div>
<div>sdOrthogonal.setSeriesDefinitionIndex( 0 );</div>
<div>sdata.getOrthogonalSampleData( ).add( sdOrthogonal );</div>
<div> </div>
<div>cwoaPie.setSampleData( sdata );</div>
<div> </div>
<div>// Base Series</div>
<div>Series seCategory = SeriesImpl.create( );</div>
<div>seCategory.setDataSet( categoryValues );</div>
<div> </div>
<div>SeriesDefinition sd = SeriesDefinitionImpl.create( );</div>
<div>cwoaPie.getSeriesDefinitions( ).add( sd );</div>
<div>sd.getSeriesPalette( ).shift( 0 );</div>
<div>sd.getSeries( ).add( seCategory );</div>
<div> </div>
<div>// Orthogonal Series</div>
<div>PieSeries sePie = (PieSeries) PieSeriesImpl.create( );</div>
<div>sePie.setDataSet( seriesOneValues );</div>
<div>sePie.setSeriesIdentifier( "Cities" );//$NON-NLS-1$ </div>
<div>sePie.setExplosion( 5 );</div>
<div> </div>
<div>SeriesDefinition sdCity = SeriesDefinitionImpl.create( );</div>
<div>sd.getSeriesDefinitions( ).add( sdCity );</div>
<div>sdCity.getSeries( ).add( sePie );</div>
<div> </div>
<div>return cwoaPie;</div>
<div>}</div>
<div> </div>
<div>}</div>
<div> </div>
<div> </div>
<div>I also have to create a pdf of the report. I know I have to use IRunAndRenderTask,</div>
<div>but again, I need a complete sample code.</div>
<div> </div>
<div>Thanks in advance

</div>