Chart
Represents a chart page element.
public class Chart : RotatingPageElement, ICoordinate, ISerializable
Public Class Chart
Inherits RotatingPageElement
Implements ICoordinate, ISerializable
Inheritance: ObjectPageElementTaggablePageElementRotatingPageElementChart
Implements: ICoordinate, ISerializable
Licensing Info
This class is a full DynamicPDF Core Suite feature. One of the following is required for non-evaluation usage:
- An active DynamicPDF Ultimate Subscription
- An active DynamicPDF Professional or Professional Plus Subscription with DynamicPDF Core Suite selected.
- A DynamicPDF Core Suite for .NET v12.X Developer License.
Examples
The following example creates a chart page element and creates a date time area series chart.Imports System
Imports ceTe.DynamicPDF
Imports ceTe.DynamicPDF.PageElements
Imports ceTe.DynamicPDF.PageElements.Charting
Imports ceTe.DynamicPDF.PageElements.Charting.Series
Module MyModule
Sub Main()
' Create a PDF Document
Dim MyDocument As Document = New Document()
' Create a Page and add it to the document
Dim MyPage As Page = New Page()
MyDocument.Pages.Add(MyPage)
' Create a chart
Dim MyChart As Chart = New Chart(0, 0, 400, 200)
' Get the default plot area from the chart
Dim MyPlotArea As PlotArea = MyChart.PrimaryPlotArea
' Create header titles and add it to the chart
Dim MyTitle1 As Title = New Title("Website Visitors")
Dim MyTitle2 As Title = New Title("Year - 2007")
MyChart.HeaderTitles.Add(MyTitle1)
MyChart.HeaderTitles.Add(MyTitle2)
' Create date time area series and add values to it
Dim MyAreaSeries1 As DateTimeAreaSeries = New DateTimeAreaSeries("Website A")
MyAreaSeries1.Values.Add(5, New DateTime(2007, 1, 1))
MyAreaSeries1.Values.Add(7, New DateTime(2007, 2, 1))
MyAreaSeries1.Values.Add(9, New DateTime(2007, 3, 1))
MyAreaSeries1.Values.Add(6, New DateTime(2007, 4, 1))
Dim MyAreaSeries2 As DateTimeAreaSeries = New DateTimeAreaSeries("Website B")
MyAreaSeries2.Values.Add(4, New DateTime(2007, 1, 1))
MyAreaSeries2.Values.Add(2, New DateTime(2007, 2, 1))
MyAreaSeries2.Values.Add(5, New DateTime(2007, 3, 1))
MyAreaSeries2.Values.Add(8, New DateTime(2007, 4, 1))
Dim MyAreaSeries3 As DateTimeAreaSeries = New DateTimeAreaSeries("Website C")
MyAreaSeries3.Values.Add(2, New DateTime(2007, 1, 1))
MyAreaSeries3.Values.Add(4, New DateTime(2007, 2, 1))
MyAreaSeries3.Values.Add(6, New DateTime(2007, 3, 1))
MyAreaSeries3.Values.Add(9, New DateTime(2007, 4, 1))
' Add date time area series to the plot area
MyPlotArea.Series.Add(MyAreaSeries1)
MyPlotArea.Series.Add(MyAreaSeries2)
MyPlotArea.Series.Add(MyAreaSeries3)
' Create a title and add it to yAxis
Dim MyTitle3 As Title = New Title("Viewers (in millions)")
MyAreaSeries1.YAxis.Titles.Add(MyTitle3)
' Set label format for the axis labels
MyAreaSeries1.XAxis.LabelFormat = "MMM"
MyChart.AutoLayout = True
' Add the chart to the page
MyPage.Elements.Add(MyChart)
' Save the PDF
MyDocument.Draw("C:\MyDocument.pdf")
End Sub
End Module
using System;
using ceTe.DynamicPDF;
using ceTe.DynamicPDF.PageElements;
using ceTe.DynamicPDF.PageElements.Charting;
using ceTe.DynamicPDF.PageElements.Charting.Series;
public class Example
{
public static void CreatePDF(string outputPath)
{
// Create a PDF Document
Document document = new Document();
// Create a Page and add it to the document
Page page = new Page();
document.Pages.Add(page);
// Create a chart
Chart chart = new Chart(0, 0, 400, 200);
// Get the default plot area from the chart
PlotArea plotArea = chart.PrimaryPlotArea;
// Create header titles and add it to the chart
Title title1 = new Title("Website Visitors");
Title title2 = new Title("Year - 2007");
chart.HeaderTitles.Add(title1);
chart.HeaderTitles.Add(title2);
// Create date time area series and add values to it
DateTimeAreaSeries areaSeries1 = new DateTimeAreaSeries("Website A");
areaSeries1.Values.Add(5, new DateTime(2007, 1, 1));
areaSeries1.Values.Add(7, new DateTime(2007, 2, 1));
areaSeries1.Values.Add(9, new DateTime(2007, 3, 1));
areaSeries1.Values.Add(6, new DateTime(2007, 4, 1));
DateTimeAreaSeries areaSeries2 = new DateTimeAreaSeries("Website B");
areaSeries2.Values.Add(4, new DateTime(2007, 1, 1));
areaSeries2.Values.Add(2, new DateTime(2007, 2, 1));
areaSeries2.Values.Add(5, new DateTime(2007, 3, 1));
areaSeries2.Values.Add(8, new DateTime(2007, 4, 1));
DateTimeAreaSeries areaSeries3 = new DateTimeAreaSeries("Website C");
areaSeries3.Values.Add(2, new DateTime(2007, 1, 1));
areaSeries3.Values.Add(4, new DateTime(2007, 2, 1));
areaSeries3.Values.Add(6, new DateTime(2007, 3, 1));
areaSeries3.Values.Add(9, new DateTime(2007, 4, 1));
// Add date time area series to the plot area
plotArea.Series.Add(areaSeries1);
plotArea.Series.Add(areaSeries2);
plotArea.Series.Add(areaSeries3);
// Create a title and add it to yAxis
Title title3 = new Title("Viewers (in millions)");
areaSeries1.YAxis.Titles.Add(title3);
// Set label format for the axis labels
areaSeries1.XAxis.LabelFormat = "MMM";
chart.AutoLayout = true;
// Add the chart to the page
page.Elements.Add(chart);
// Save the PDF
document.Draw(outputPath);
}
}
Remarks
By default, the AutoLayout property of the chart is set to true. Being set to true indicates that the X, Y, Width and Height properties for all the chart elements are calculated automatically.
Constructors
Chart(Single, Single, Single, Single) | Initializes a new instance of the Chart class. |
Chart(Single, Single, Single, Single, Font, Single, Color) | Initializes a new instance of the Chart class. |
Properties
Angle | Gets or sets the heights of the angle element. (Inherited from RotatingPageElement) |
AutoLayout | Gets or sets whether elements should be arranged automatically on the chart or not. |
BackgroundColor | Gets or sets the Color to use for the background of the chart. |
BorderColor | Gets or sets the Color to use for the border of the chart. |
BorderStyle | Gets or sets the LineStyle to use for the border style of the chart. |
BorderWidth | Gets or sets the border width of the chart. |
BottomPadding | Gets or sets the bottomPadding of the chart. |
ChartLegendSpacing | Gets or sets the chartLegendSpacing of the chart. |
Font | Gets or sets the Font to use for the text in the chart. |
FontSize | Gets or sets the font size of the text in the chart. |
FooterTitles | Gets the footer TitleList in the chart. |
HeaderTitles | Gets the header TitleList in the chart. |
Height | Gets or sets the height of the chart. |
ID | Gets or sets the ID of the page element. (Inherited from PageElement) |
IgnoreMargins | Gets or sets ignore margin property. Setting false will consider the margin while placing the page element based on the RelativeTo property. (Inherited from PageElement) |
LeftPadding | Gets or sets the leftPadding of the chart. |
Legends | Gets the LegendList in the chart. |
PlotAreas | Gets the PlotAreaList in the chart. |
PrimaryPlotArea | Gets the Default PlotArea of the chart. |
RelativeTo | Gets and sets placement of the page element on the page. (Inherited from PageElement) |
RightPadding | Gets or sets the rightPadding of the chart. |
Tag | Gets or sets the tag of the taggable element. (Inherited from TaggablePageElement) |
TagOrder | Gets or sets the tag order of the taggable element. (Inherited from TaggablePageElement) |
TextColor | Gets the Color to use for the text in the chart. |
TopPadding | Gets or sets the topPadding of the chart. |
Width | Gets or sets the width of the chart. |
X | Gets or sets the x coordinate of the chart. |
Y | Gets or sets the y coordinate of the chart. |
Methods
Draw(PageWriter) | Draws the page element to the given PageWriter object. (Inherited from RotatingPageElement) |
Equals(Object) | Determines whether the specified Object is equal to the current Object . (Inherited from Object) |
GetHashCode() | Serves as a hash function for a particular type. (Inherited from Object) |
GetType() | Gets the Type of the current instance. (Inherited from Object) |
Layout() | Arranges all of the elements of the chart automatically. |
ToString() | Returns a String that represents the current Object . (Inherited from Object) |