Example: The following example creates a date time 100 percent stacked bar series chart and creates a percentage xaxis to xaxis.
import com.cete.dynamicpdf.Document; import com.cete.dynamicpdf.Page; import com.cete.dynamicpdf.pageelements.charting.*; import com.cete.dynamicpdf.pageelements.charting.axes.*; import com.cete.dynamicpdf.pageelements.charting.series.*; import java.util.Calendar; public class MyClass { public static void main(String args[]) { // Create a PDF Document Document document = new Document(); // Create a Page and add it to the document Page page = new Page(); document.getPages().add(page); // Create a chart Chart chart = new Chart(0, 0, 400, 200); // Get the default plot area from the chart PlotArea plotArea = chart.getPrimaryPlotArea(); // Create header titles and add it to the chart Title title1 = new Title("Website Visitors"); Title title2 = new Title("Year - 2007"); chart.getHeaderTitles().add(title1); chart.getHeaderTitles().add(title2); // Create xAxis and add labels to it PercentageXAxis xAxis = new PercentageXAxis(); xAxis.getLabels().add(new PercentageXAxisLabel("0", 0)); xAxis.getLabels().add(new PercentageXAxisLabel("20%", 20)); xAxis.getLabels().add(new PercentageXAxisLabel("40%", 40)); xAxis.getLabels().add(new PercentageXAxisLabel("60%", 60)); xAxis.getLabels().add(new PercentageXAxisLabel("80%", 80)); xAxis.getLabels().add(new PercentageXAxisLabel("100%", 100)); // Create a date time yAxis DateTimeYAxis yAxis = new DateTimeYAxis(); // Create positions Calendar p0=Calendar.getInstance(); p0.set(2007,0,1); Calendar p1=Calendar.getInstance(); p1.set(2007,1,1); Calendar p2=Calendar.getInstance(); p2.set(2007,2,1); Calendar p3=Calendar.getInstance(); p3.set(2007,3,1); // Create a date time 100percent stacked bar series and add values to it DateTime100PercentStackedBarSeriesElement barSeriesElement1 = new DateTime100PercentStackedBarSeriesElement("Website A"); barSeriesElement1.getValues().add(5, p0); barSeriesElement1.getValues().add(7, p1); barSeriesElement1.getValues().add(9, p2); barSeriesElement1.getValues().add(6, p3); DateTime100PercentStackedBarSeriesElement barSeriesElement2 = new DateTime100PercentStackedBarSeriesElement("Website B"); barSeriesElement2.getValues().add(4, p0); barSeriesElement2.getValues().add(2, p1); barSeriesElement2.getValues().add(5, p2); barSeriesElement2.getValues().add(8, p3); DateTime100PercentStackedBarSeriesElement barSeriesElement3 = new DateTime100PercentStackedBarSeriesElement("Website C"); barSeriesElement3.getValues().add(2, p0); barSeriesElement3.getValues().add(4, p1); barSeriesElement3.getValues().add(6, p2); barSeriesElement3.getValues().add(9, p3); // Create a date time 100percent stacked bar series and add date time 100percent stacked bar series elements to it DateTime100PercentStackedBarSeries stackedBarSeries1 = new DateTime100PercentStackedBarSeries(xAxis, yAxis); stackedBarSeries1.add(barSeriesElement1); stackedBarSeries1.add(barSeriesElement2); stackedBarSeries1.add(barSeriesElement3); // add stacked bar series to the plot area plotArea.getSeries().add(stackedBarSeries1); // Set label list format for the axislabels stackedBarSeries1.getYAxis().setLabelFormat("MMM"); // add the chart to the page page.getElements().add(chart); // Save the PDF document.draw("[PhysicalPath]/MyDocument.pdf" ); } }