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
- Criar gráfico de colunas no PowerPoint usando C#
- Criar gráfico de dispersão no PowerPoint usando C#
- Adicionar gráfico de pizza no PowerPoint usando C#
- Adicionar gráfico de histograma no PowerPoint usando C#
- Criar um gráfico de ações no PowerPoint usando C#
- Obtenha licença de API gratuita
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.
- Primeiro, crie uma instância da classe Apresentação.
- Obtenha a referência do slide no objeto ISlide.
- Adicione um gráfico ClusteredColumn com dados padrão e obtenha sua referência no objeto IChart.
- Defina o título do gráfico usando o método IChart.ChartTitle.AddTextFrameForOverriding(String) e defina suas propriedades.
- Acesse a pasta de trabalho de dados do gráfico no objeto IChartDataWorkbook.
- Limpe todas as séries e categorias padrão dos dados do gráfico usando os métodos IChart.ChartData.Series.Clear() e IChart.ChartData.Categories.Clear(), respectivamente.
- Adicione novas séries e categorias.
- Acesse cada série de gráfico no objeto IChartSeries e adicione pontos de dados a ele.
- Adicione cor de preenchimento para séries de gráficos e defina rótulos.
- Finalmente, salve a apresentação usando o método Presentation.Save(String, SaveFormat).
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 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 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#.
- 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 de pizza com dados padrão e obtenha sua referência no objeto IChart.
- Defina o título do gráfico usando o método IChart.ChartTitle.AddTextFrameForOverriding(String) e defina suas propriedades.
- Defina a visibilidade dos valores.
- Limpe a série e as categorias padrão usando os métodos IChart.ChartData.Series.Clear() e IChart.ChartData.Categories.Clear(), respectivamente.
- Acesse a pasta de trabalho de dados do gráfico no objeto IChartDataWorkbook.
- Adicione novas categorias aos dados do gráfico na coleção IChart.ChartData.Categories.
- Adicione uma nova série aos dados do gráfico na coleção IChart.ChartData.Series.
- Obtenha cada série no objeto IChartSeries e adicione pontos de dados à série.
- Acesse cada ponto de dados no objeto IChartDataPoint e defina sua formatação.
- Acesse rótulos de dados nos pontos de dados usando o objeto IDataLabel e defina sua formatação.
- Defina as linhas principais e os ângulos de rotação.
- 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 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.
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 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.
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.