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



Example: The following example creates a date time 100 percent stacked area chart and creates a percentage yaxis to yaxis.


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 percentage yAxis and add labels to it
            PercentageYAxis yAxis = new PercentageYAxis();
            yAxis.getLabels().add(new PercentageYAxisLabel("0", 0));
            yAxis.getLabels().add(new PercentageYAxisLabel("20%", 20));
            yAxis.getLabels().add(new PercentageYAxisLabel("40%", 40));
            yAxis.getLabels().add(new PercentageYAxisLabel("60%", 60));
            yAxis.getLabels().add(new PercentageYAxisLabel("80%", 80));
            yAxis.getLabels().add(new PercentageYAxisLabel("100%", 100));
        
            // Create a date time xAxis
            DateTimeXAxis xAxis = new DateTimeXAxis();
        
            // 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 area series and add values to it
            DateTime100PercentStackedAreaSeriesElement areaSeriesElement1 = new DateTime100PercentStackedAreaSeriesElement("Website A");
            areaSeriesElement1.getValues().add(5, p0);
            areaSeriesElement1.getValues().add(7, p1);
            areaSeriesElement1.getValues().add(9, p2);
            areaSeriesElement1.getValues().add(6, p3);
            DateTime100PercentStackedAreaSeriesElement areaSeriesElement2 = new DateTime100PercentStackedAreaSeriesElement("Website B");
            areaSeriesElement2.getValues().add(4, p0);
            areaSeriesElement2.getValues().add(2, p1);
            areaSeriesElement2.getValues().add(5, p2);
            areaSeriesElement2.getValues().add(8, p3);
            DateTime100PercentStackedAreaSeriesElement areaSeriesElement3 = new DateTime100PercentStackedAreaSeriesElement("Website C");
            areaSeriesElement3.getValues().add(2, p0);
            areaSeriesElement3.getValues().add(4, p1);
            areaSeriesElement3.getValues().add(6, p2);
            areaSeriesElement3.getValues().add(9, p3);
        
            // Create a date time 100 percent stacked area series and add date time 100percent  stacked area series elements to it
            DateTime100PercentStackedAreaSeries stackedAreaSeries1 = new DateTime100PercentStackedAreaSeries(xAxis, yAxis);
            stackedAreaSeries1.add(areaSeriesElement1);
            stackedAreaSeries1.add(areaSeriesElement2);
            stackedAreaSeries1.add(areaSeriesElement3);
        
            // add date time 100 stacked Area series to the plot area
            plotArea.getSeries().add(stackedAreaSeries1);
        
            // Set label list format for the axislabels
            stackedAreaSeries1.getXAxis().setLabelFormat("MMM");
        
            // add the chart to the page
            page.getElements().add(chart);
        
            // Save the PDF
            document.draw("[PhysicalPath]/MyDocument.pdf" );
       }
 }