Articles in this section
Category / Section

How to create the PowerPoint line chart in C# and VB.NET

3 mins read

This article explains how to create a line chart in PowerPoint using Presentation library.

 

 

Create Line Chart in Excel

       Line chart created using Presentation library

 

Steps to create line chart in PowerPoint using Presentation library:

 

  1. Initialize chart

 

Create a chart object by calling the slide.Charts.AddChart method and specify the chart type to OfficeChartType.Line enum value.

 

 //Create the chart
IPresentationChart chart = slide.Charts.AddChart(100, 10, 700, 500);
 
//Set chart type to line
chart.ChartType = OfficeChartType.Line;

 

  1. Assign data and chart elements

 

Add the basic elements like chart title, data labels, and legend.

 

  • ChartTitle of chart object.
  • Set DataLabels via DefaultDataPoint.
  • Add CategoryLabels and Values.
  • Set TRUE to chart’s HasLegend property to show the legend, else FALSE.

 

//Apply chart elements
//Set chart title
chart.ChartTitle = " Line Chart ";
 
//Set legend
chart.HasLegend = true;
              
//Set Datalabels, CategoryLabels, and Values
IOfficeChartSerie series1 = chart.Series.Add("Joey");
series1.Values = chart.ChartData[2, 2, 6, 2];
series1.SerieType = OfficeChartType.Line;
IOfficeChartSerie series2 = chart.Series.Add("Mathew");
series2.Values = chart.ChartData[2, 3, 6, 3];
series2.SerieType = OfficeChartType.Line;
IOfficeChartSerie series3 = chart.Series.Add("Peter");
series3.Values = chart.ChartData[2, 4, 6, 4];
series3.SerieType = OfficeChartType.Line;

 

 

Download Complete Sample

 

To learn more about creating charts with various settings using Presentation library, please refer the documentation.

 

The following C# and VB.NET complete code snippet shows the creation of line chart using Presentation library.

 

C#

 

using Syncfusion.OfficeChart;
using Syncfusion.Presentation;
using System.IO;
 
namespace ChartSample
{
    class Program
    {
        static void Main(string[] args)
        {
            //Creates an instance of the IPresentation 
            using (IPresentation pptxDoc = Presentation.Create())
            {
                //Adds a blank slide to the Presentation
                ISlide slide = pptxDoc.Slides.Add(SlideLayoutType.Blank);
 
                //Adds chart to the slide with position and size
                IPresentationChart chart = slide.Charts.AddChart(100, 10, 700, 500);
                chart.ChartType = OfficeChartType.Line;
 
                //Assign data
                AddChartData(chart);
                chart.IsSeriesInRows = false;
 
                //Apply chart elements
                //Set chart title
                chart.ChartTitle = "Line Chart";
 
                //Set Datalabels
                IOfficeChartSerie series1 = chart.Series.Add("Joey"));
                series1.Values = chart.ChartData[2, 2, 6, 2];
                series1.SerieType = OfficeChartType.Line;
                IOfficeChartSerie series2 = chart.Series.Add("Mathew");
                series2.Values = chart.ChartData[2, 3, 6, 3];
                series2.SerieType = OfficeChartType.Line;
                IOfficeChartSerie series3 = chart.Series.Add("Peter");
                series3.Values = chart.ChartData[2, 4, 6, 4];
                series3.SerieType = OfficeChartType.Line; 
 
                //Set legend
                chart.HasLegend = true;
                chart.Legend.Position = OfficeLegendPosition.Bottom;
 
                //Saving and closing the presentation
                Stream stream = File.Create("Output.pptx");
                pptxDoc.Save(stream);
                pptxDoc.Close();
            }
        }
 
        /// <summary>
        /// Set the values for the chart
        /// </summary>
        /// <param name="chart">Represent the instance of the Presentation chart</param>
 
        private static void AddChartData(IPresentationChart chart)
        {
            chart.ChartData.SetValue(1, 1, "Fruits");
            chart.ChartData.SetValue(1, 2, "Joey");
            chart.ChartData.SetValue(1, 3, "Mathew");
            chart.ChartData.SetValue(1, 4, "Peter");
 
            chart.ChartData.SetValue(2, 1, "Apples");
            chart.ChartData.SetValue(2, 2, 5);
            chart.ChartData.SetValue(2, 3, 3);
            chart.ChartData.SetValue(2, 4, 2);
 
            chart.ChartData.SetValue(3, 1, "Grapes");
            chart.ChartData.SetValue(3, 2, 4);
            chart.ChartData.SetValue(3, 3, 5);
            chart.ChartData.SetValue(3, 4, 2);
 
            chart.ChartData.SetValue(4, 1, "Bananas");
            chart.ChartData.SetValue(4, 2, 4);
            chart.ChartData.SetValue(4, 3, 4);
            chart.ChartData.SetValue(4, 4, 3);
 
            chart.ChartData.SetValue(5, 1, "Oranges");
            chart.ChartData.SetValue(5, 2, 2);
            chart.ChartData.SetValue(5, 3, 1);
            chart.ChartData.SetValue(5, 4, 5);
 
            chart.ChartData.SetValue(6, 1, "Melons");
            chart.ChartData.SetValue(6, 2, 2);
            chart.ChartData.SetValue(6, 3, 7);
            chart.ChartData.SetValue(6, 4, 6);
        }
    }
}

 

VB

Imports System.IO
Imports Syncfusion.OfficeChart
Imports Syncfusion.Presentation
 
Namespace ChartSample
 
    Class Program
 
        Public Shared Sub Main(ByVal args As String())
            'Creates an instance of the IPresentation 
            Dim pptxDoc As IPresentation = Presentation.Create()
            'Adds a blank slide to the Presentation
            Dim slide As ISlide = pptxDoc.Slides.Add(SlideLayoutType.Blank)
 
            'Adds chart to the slide with position and size
            Dim chart As IPresentationChart = slide.Charts.AddChart(100, 10, 700, 500)
            chart.ChartType = OfficeChartType.Line
 
            'Assign data
            SetChartData (chart)
            chart.IsSeriesInRows = False
 
            'Apply chart elements
            'Set chart title
            chart.ChartTitle = "Line Chart"
 
            'Set Datalabels
            Dim series1 As IOfficeChartSerie = chart.Series.Add("Joey")
            series1.Values = chart.ChartData(2, 2, 6, 2)
            series1.SerieType = OfficeChartType.Line
            Dim series2 As IOfficeChartSerie = chart.Series.Add("Mathew")
            series2.Values = chart.ChartData(2, 3, 6, 3)
            series2.SerieType = OfficeChartType.Line
            Dim series3 As IOfficeChartSerie = chart.Series.Add("Peter")
            series3.Values = chart.ChartData(2, 4, 6, 4)
            series3.SerieType = OfficeChartType.Line
 
            'Set legend
            chart.HasLegend = True
            chart.Legend.Position = OfficeLegendPosition.Bottom
 
            'Saving and closing the presentation
            Dim stream As Stream = File.Create(”Output.pptx”)
            pptxDoc.Save(stream)
            pptxDoc.Close()
        End Sub
 
        ''' <summary>
        ''' Set the values for the chart
        ''' </summary>
        ''' <param name="chart">Represent the instance of the Presentation chart</param>
        Private Shared Sub SetChartData (ByVal chart As IPresentationChart)
             chart.ChartData.SetValue(1, 1, "Fruits")
             chart.ChartData.SetValue(1, 2, "Joey")
             chart.ChartData.SetValue(1, 3, "Mathew")
             chart.ChartData.SetValue(1, 4, "Peter")
 
             chart.ChartData.SetValue(2, 1, "Apples")
             chart.ChartData.SetValue(2, 2, 5)
             chart.ChartData.SetValue(2, 3, 3)
             chart.ChartData.SetValue(2, 4, 2)
 
             chart.ChartData.SetValue(3, 1, "Grapes")
             chart.ChartData.SetValue(3, 2, 4)
             chart.ChartData.SetValue(3, 3, 5)
             chart.ChartData.SetValue(3, 4, 2)
 
             chart.ChartData.SetValue(4, 1, "Bananas")
             chart.ChartData.SetValue(4, 2, 4)
             chart.ChartData.SetValue(4, 3, 4)
             chart.ChartData.SetValue(4, 4, 3)
 
             chart.ChartData.SetValue(5, 1, "Oranges")
             chart.ChartData.SetValue(5, 2, 2)
             chart.ChartData.SetValue(5, 3, 1)
             chart.ChartData.SetValue(5, 4, 5)
 
             chart.ChartData.SetValue(6, 1, "Melons")
             chart.ChartData.SetValue(6, 2, 2)
             chart.ChartData.SetValue(6, 3, 7)
             chart.ChartData.SetValue(6, 4, 6)
      End Sub
   End Class
End Namespace

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please  to leave a comment
Access denied
Access denied