criar gráficos no powerpoint ppt c#

Os gráficos são usados para resumir e representar visualmente os dados nas apresentações do PowerPoint. Portanto, o PowerPoint fornece uma ampla variedade de tipos de gráficos para visualizar os dados. Entre todos, os tipos de gráficos mais usados incluem gráficos de pizza, gráficos de linhas, gráficos de barras, histogramas, gráficos de ações e etc. Neste artigo, você aprenderá como criar esses gráficos em apresentações do PowerPoint usando C#.

API C# para criar gráficos no PowerPoint

Aspose.Slides for .NET é uma biblioteca de classes C# que permite criar e manipular apresentações do PowerPoint a partir de aplicativos .NET. Além disso, a API permite criar e adicionar gráficos às apresentações sem problemas. Aspose.Slides para .NET pode ser baixado como DLL ou instalado via NuGet.

PM> Install-Package Aspose.Slides

Criar gráfico de colunas no PowerPoint PPT usando C#

Nesta seção, você aprenderá a criar um gráfico de colunas e adicionar categorias e séries para preencher esse gráfico. A seguir estão as etapas para realizar esta operação.

Para demonstração, o exemplo de código a seguir mostra como criar um gráfico de colunas na apresentação do PowerPoint usando C#.

// Instanciar classe de apresentação que representa o arquivo PPTX
Presentation pres = new Presentation();

// Acesse o primeiro slide
ISlide sld = pres.Slides[0];

// Adicionar gráfico com dados padrão
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);

// Definindo o título do gráfico
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;

// Defina a primeira série para Mostrar valores
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;

// Configurando o índice da folha de dados do gráfico
int defaultWorksheetIndex = 0;

// Obtendo a planilha de dados do gráfico
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// Excluir séries e categorias geradas padrão
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;

// Adicionando novas séries
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.Type);
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.Type);

// Adicionando novas categorias
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));

// Pegue a primeira série de gráficos
IChartSeries series = chart.ChartData.Series[0];

// Agora preenchendo dados de série
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30));

// Configurando a cor de preenchimento para a série
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = System.Drawing.Color.Blue;


// Pegue a segunda série de gráficos
series = chart.ChartData.Series[1];

// Agora preenchendo dados de série
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 2, 30));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 2, 10));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 2, 60));

// Configurando a cor de preenchimento para a série
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Orange;

// O primeiro rótulo mostrará o nome da categoria
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;

lbl = series.DataPoints[1].Label;
lbl.DataLabelFormat.ShowSeriesName = true;

// Mostrar valor para o terceiro rótulo
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";

// Salvar apresentação com gráfico
pres.Save("column-chart.pptx", SaveFormat.Pptx);

A seguir está a captura de tela do gráfico de colunas resultante.

criar gráfico de colunas no powerpoint em c #

Criar gráfico de dispersão no PowerPoint PPT usando C#

A seguir estão as etapas para criar um gráfico de dispersão na apresentação do PowerPoint usando C#.

  • Crie uma nova apresentação usando a classe Apresentação.
  • Obtenha a referência dos slides no objeto ISlide.
  • Adicione um tipo de gráfico ScatterWithSmoothLines com dados padrão e obtenha sua referência no objeto IChart.
  • Acesse a pasta de trabalho de dados do gráfico no objeto IChartDataWorkbook e limpe a série padrão.
  • Adicione uma nova série aos dados do gráfico.
  • Acesse cada série no objeto IChartSeries e adicione pontos de dados à série.
  • Defina o marcador para a série usando a propriedade IChartSeries.Marker.
  • Salve a apresentação usando o método Presentation.Save(String, SaveFormat).

O exemplo de código a seguir mostra como criar um gráfico de dispersão em apresentações do PowerPoint usando C#.

// Instanciar classe de apresentação que representa o arquivo PPTX
Presentation pres = new Presentation();

// Acesse o primeiro slide
ISlide sld = pres.Slides[0];

// Adicionar gráfico com dados padrão
IChart chart = sld.Shapes.AddChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);

// Obtendo o índice da planilha de dados do gráfico padrão
int defaultWorksheetIndex = 0;

// Obtendo a planilha de dados do gráfico
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// Excluir série de demonstração
chart.ChartData.Series.Clear();

// Adicionar nova série
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.Type);
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 3, "Series 2"), chart.Type);

// Pegue a primeira série de gráficos
IChartSeries series = chart.ChartData.Series[0];

// Adicione um novo ponto (1:3) lá.
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 1), fact.GetCell(defaultWorksheetIndex, 2, 2, 3));

// Adicionar novo ponto (2:10)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 2), fact.GetCell(defaultWorksheetIndex, 3, 2, 10));

// Editar o tipo de série
series.Type = ChartType.ScatterWithStraightLinesAndMarkers;

// Alterando o marcador da série do gráfico
series.Marker.Size = 10;
series.Marker.Symbol = MarkerStyleType.Star;

// Pegue a segunda série de gráficos
series = chart.ChartData.Series[1];

// Adicione um novo ponto (5:2) lá.
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 3, 5), fact.GetCell(defaultWorksheetIndex, 2, 4, 2));

// Adicionar novo ponto (3:1)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 3, 3), fact.GetCell(defaultWorksheetIndex, 3, 4, 1));

// Adicionar novo ponto (2:2)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 4, 3, 2), fact.GetCell(defaultWorksheetIndex, 4, 4, 2));

// Adicionar novo ponto (5:1)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 5, 3, 5), fact.GetCell(defaultWorksheetIndex, 5, 4, 1));

// Alterando o marcador da série do gráfico
series.Marker.Size = 10;
series.Marker.Symbol = MarkerStyleType.Circle;

// Salvar apresentação com gráfico
pres.Save("scattered-chart.pptx", SaveFormat.Pptx);

A captura de tela a seguir mostra o gráfico de dispersão resultante.

criar gráfico disperso no powerpoint em c #

Criar gráfico de pizza no PowerPoint PPT usando C#

A seguir estão as etapas para criar um gráfico de pizza em uma apresentação do PowerPoint usando C#.

O exemplo de código a seguir mostra como criar um gráfico de pizza na apresentação do PowerPoint usando C#.

// Instanciar classe de apresentação que representa o arquivo PPTX
Presentation presentation = new Presentation();

// Acesse o primeiro slide
ISlide slides = presentation.Slides[0];

// Adicionar gráfico com dados padrão
IChart chart = slides.Shapes.AddChart(ChartType.Pie, 100, 100, 400, 400);

// Definindo o título do gráfico
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;

// Defina a primeira série para Mostrar valores
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;

// Configurando o índice da folha de dados do gráfico
int defaultWorksheetIndex = 0;

// Obtendo a planilha de dados do gráfico
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// Excluir séries e categorias geradas padrão
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();

// Adicionando novas categorias
chart.ChartData.Categories.Add(fact.GetCell(0, 1, 0, "First Qtr"));
chart.ChartData.Categories.Add(fact.GetCell(0, 2, 0, "2nd Qtr"));
chart.ChartData.Categories.Add(fact.GetCell(0, 3, 0, "3rd Qtr"));

// Adicionando novas séries
IChartSeries series = chart.ChartData.Series.Add(fact.GetCell(0, 0, 1, "Series 1"), chart.Type);

// Agora preenchendo dados de série
series.DataPoints.AddDataPointForPieSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20));
series.DataPoints.AddDataPointForPieSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50));
series.DataPoints.AddDataPointForPieSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30));

// Não funciona na nova versão
// Adicionando novos pontos e definindo a cor do setor
// series.IsColorVaried = true;
chart.ChartData.SeriesGroups[0].IsColorVaried = true;

IChartDataPoint point = series.DataPoints[0];
point.Format.Fill.FillType = FillType.Solid;
point.Format.Fill.SolidFillColor.Color = Color.Orange;
// Configurando a borda do setor
point.Format.Line.FillFormat.FillType = FillType.Solid;
point.Format.Line.FillFormat.SolidFillColor.Color = Color.Gray;
point.Format.Line.Width = 3.0;
//point.Format.Line.Style = LineStyle.ThinThick;
//point.Format.Line.DashStyle = LineDashStyle.DashDot;

IChartDataPoint point1 = series.DataPoints[1];
point1.Format.Fill.FillType = FillType.Solid;
point1.Format.Fill.SolidFillColor.Color = Color.BlueViolet;

// Configurando a borda do setor
point1.Format.Line.FillFormat.FillType = FillType.Solid;
point1.Format.Line.FillFormat.SolidFillColor.Color = Color.Blue;
point1.Format.Line.Width = 3.0;
//point1.Format.Line.Style = LineStyle.Single;
//point1.Format.Line.DashStyle = LineDashStyle.LargeDashDot;

IChartDataPoint point2 = series.DataPoints[2];
point2.Format.Fill.FillType = FillType.Solid;
point2.Format.Fill.SolidFillColor.Color = Color.YellowGreen;

// Configurando a borda do setor
point2.Format.Line.FillFormat.FillType = FillType.Solid;
point2.Format.Line.FillFormat.SolidFillColor.Color = Color.Red;
point2.Format.Line.Width = 2.0;
//point2.Format.Line.Style = LineStyle.ThinThin;
//point2.Format.Line.DashStyle = LineDashStyle.LargeDashDotDot;

// Crie rótulos personalizados para cada uma das categorias para novas séries
IDataLabel lbl1 = series.DataPoints[0].Label;

// lbl.ShowCategoryName = true;
lbl1.DataLabelFormat.ShowValue = true;

IDataLabel lbl2 = series.DataPoints[1].Label;
lbl2.DataLabelFormat.ShowValue = true;
lbl2.DataLabelFormat.ShowLegendKey = true;
lbl2.DataLabelFormat.ShowPercentage = true;

IDataLabel lbl3 = series.DataPoints[2].Label;
lbl3.DataLabelFormat.ShowSeriesName = true;
lbl3.DataLabelFormat.ShowPercentage = true;

// Mostrando Linhas Líderes para Gráfico
//series.Labels.DefaultDataLabelFormat.ShowLeaderLines = true;

// Configurando o ângulo de rotação para setores do gráfico de pizza
chart.ChartData.SeriesGroups[0].FirstSliceAngle = 180;

// Salvar apresentação com gráfico
presentation.Save("pie-chart.pptx", SaveFormat.Pptx);

A seguir está a captura de tela do gráfico de pizza gerado.

criar gráfico de pizza no powerpoint em c #

Adicionar gráfico de histograma no PowerPoint PPTX usando C#

A seguir estão as etapas para criar um gráfico de histograma em apresentações do PowerPoint usando Aspose.Slides para .NET.

  • Crie uma instância da classe Apresentação.
  • Obtenha a referência de um slide no objeto ISlide por seu índice.
  • Adicione um gráfico de histograma com dados padrão.
  • Limpe as séries e categorias padrão.
  • Acesse a pasta de trabalho de dados do gráfico no objeto IChartDataWorkbook.
  • Adicione uma nova série e obtenha sua referência no objeto IChartSeries.
  • Adicione pontos de dados à série.
  • Defina o tipo de agregação do eixo do gráfico.
  • Salve a apresentação usando o método Presentation.Save(String, SaveFormat).

O exemplo de código a seguir mostra como criar um gráfico de histograma usando C#.

// Carregar ou criar apresentação
using (Presentation pres = new Presentation())
{
    // Adicionar gráfico de histograma
    IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Histogram, 50, 50, 500, 400);
    chart.ChartData.Categories.Clear();
    chart.ChartData.Series.Clear();

    // Acessar a pasta de trabalho de dados do gráfico
    IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;

    // Limpar pasta de trabalho
    wb.Clear(0);

    // Adicionar série de gráficos
    IChartSeries series = chart.ChartData.Series.Add(ChartType.Histogram);
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A1", 15));
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A2", -41));
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A3", 16));
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A4", 10));
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A5", -23));
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A6", 16));

    chart.Axes.HorizontalAxis.AggregationType = AxisAggregationType.Automatic;

    // Salvar apresentação
    pres.Save("histogram-chart.pptx", SaveFormat.Pptx);
}

A seguir está a captura de tela do gráfico de histograma criado.

criar gráfico de histograma no powerpoint em c #

Criar um gráfico de ações no PowerPoint usando C#

O gráfico de ações também é um dos tipos de gráfico comumente usados nas apresentações do PowerPoint. A seguir estão as etapas para criar um gráfico de ações.

  • Crie uma nova apresentação do PowerPoint usando a classe Apresentação.
  • Obtenha a referência do slide em um objeto ISlide usando o índice do slide.
  • Adicione o gráfico OpenHighLowClose ao slide e obtenha sua referência no objeto IChart.
  • Limpe as séries e categorias padrão.
  • Acesse os dados do gráfico no objeto IChartDataWorkbook.
  • Adicione novas séries e categorias ao gráfico.
  • Acesse cada série do gráfico e adicione pontos de dados.
  • Especifique o formato HiLowLines.
  • Salve a apresentação usando o método Presentation.Save(String, SaveFormat).

O exemplo de código a seguir mostra como adicionar um gráfico de ações à apresentação do PowerPoint usando C#.

// Carregar ou criar apresentação
using (Presentation pres = new Presentation())
{
    // Adicionar gráfico
    IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.OpenHighLowClose, 50, 50, 600, 400, false);

    // Limpar categorias e séries
    chart.ChartData.Series.Clear();
    chart.ChartData.Categories.Clear();

    // Acessar a pasta de trabalho de dados do gráfico
    IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;

    // Adicionar categorias
    chart.ChartData.Categories.Add(wb.GetCell(0, 1, 0, "A"));
    chart.ChartData.Categories.Add(wb.GetCell(0, 2, 0, "B"));
    chart.ChartData.Categories.Add(wb.GetCell(0, 3, 0, "C"));

    // Adicionar série
    chart.ChartData.Series.Add(wb.GetCell(0, 0, 1, "Open"), chart.Type);
    chart.ChartData.Series.Add(wb.GetCell(0, 0, 2, "High"), chart.Type);
    chart.ChartData.Series.Add(wb.GetCell(0, 0, 3, "Low"), chart.Type);
    chart.ChartData.Series.Add(wb.GetCell(0, 0, 4, "Close"), chart.Type);

    // Adicionar pontos de dados
    IChartSeries series = chart.ChartData.Series[0];

    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 1, 72));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 1, 25));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 1, 38));

    series = chart.ChartData.Series[1];
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 2, 172));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 2, 57));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 2, 57));

    series = chart.ChartData.Series[2];
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 3, 12));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 3, 12));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 3, 13));

    series = chart.ChartData.Series[3];
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 4, 25));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 4, 38));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 4, 50));

    // Defina se o gráfico tem barras para cima/para baixo
    chart.ChartData.SeriesGroups[0].UpDownBars.HasUpDownBars = true;

    // Especificar o formato de linha alta/baixa
    chart.ChartData.SeriesGroups[0].HiLowLinesFormat.Line.FillFormat.FillType = FillType.Solid;

    foreach (IChartSeries ser in chart.ChartData.Series)
    {
        ser.Format.Line.FillFormat.FillType = FillType.NoFill;
    }

    // Salvar apresentação
    pres.Save("stock-chart.pptx", SaveFormat.Pptx);
}

A seguir está a captura de tela do gráfico de ações criado.

criar gráfico de ações no powerpoint em c #

Mais tipos de gráfico

Além dos gráficos mencionados acima, existem outros tipos de gráficos que você pode adicionar às apresentações do PowerPoint. Para ler mais sobre os tipos de gráficos suportados, você pode visitar este artigo de documentação.

Obtenha uma licença de API gratuita

Você pode obter uma licença temporária gratuita para experimentar a API sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como criar gráficos em apresentações do PowerPoint usando C#. Além disso, o guia passo a passo e os exemplos de código mostraram como adicionar gráficos de colunas, gráficos de dispersão, gráficos de pizza, histogramas e gráficos de ações. Você pode explorar mais sobre o Aspose.Slides para .NET usando documentação.

Veja também