com.cete.dynamicpdf.pageelements.charting.axes
Class PercentagexAxis



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" );
       }
 }