com.cete.dynamicpdf.pageelements.charting.values
Class DateTimeStackedLineValue



Example: The following example creates a date time stacked line chart.

import com.cete.dynamicpdf.Document;
import com.cete.dynamicpdf.Page;
import com.cete.dynamicpdf.pageelements.charting.*;
import com.cete.dynamicpdf.pageelements.charting.series.*;
import com.cete.dynamicpdf.pageelements.charting.values.*;
import com.cete.dynamicpdf.pageelements.charting.axes.*;
import java.util.Calendar;

 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 a date time xaxis
        DateTimeXAxis xAxis = new DateTimeXAxis();
        
        // Create a percentage yaxis
        PercentageYAxis yAxis = new PercentageYAxis();
        
        // 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 stacked line series element and add values to it
        DateTimeStackedLineSeriesElement seriesElement1 = new DateTimeStackedLineSeriesElement("Website A");
        seriesElement1.getValues().add(new DateTimeStackedLineValue(5,   p0));
        seriesElement1.getValues().add(new DateTimeStackedLineValue(7,   p1));
        seriesElement1.getValues().add(new DateTimeStackedLineValue(9,   p2));
        seriesElement1.getValues().add(new DateTimeStackedLineValue(6,   p3));
        DateTimeStackedLineSeriesElement seriesElement2 = new DateTimeStackedLineSeriesElement("Website B");
        seriesElement2.getValues().add(new DateTimeStackedLineValue(4,   p0));
        seriesElement2.getValues().add(new DateTimeStackedLineValue(2,   p1));
        seriesElement2.getValues().add(new DateTimeStackedLineValue(5,   p2));
        seriesElement2.getValues().add(new DateTimeStackedLineValue(8,   p3));
        DateTimeStackedLineSeriesElement seriesElement3 = new DateTimeStackedLineSeriesElement("Website C");
        seriesElement3.getValues().add(new DateTimeStackedLineValue(2,   p0));
        seriesElement3.getValues().add(new DateTimeStackedLineValue(4,   p1));
        seriesElement3.getValues().add(new DateTimeStackedLineValue(6,   p2));
        seriesElement3.getValues().add(new DateTimeStackedLineValue(9,   p3));
        
        // Create a date time stacked line series and add date time stacked line series elements to it
        DateTimeStackedLineSeries stackedLineSeries1 = new DateTimeStackedLineSeries();
        stackedLineSeries1.add(seriesElement1);
        stackedLineSeries1.add(seriesElement2);
        stackedLineSeries1.add(seriesElement3);
        
        // add date time line series to the plot area
        plotArea.getSeries().add(stackedLineSeries1);
        
        // set label list format for the axislabels
        stackedLineSeries1.getXAxis().setLabelFormat("MMM");
        
        // add the chart to the page
        page.getElements().add(chart);
        
        // Save the PDF
        document.draw("[PhysicalPath]/MyDocument.pdf");
       }
 }