criar gráficos no powerpoint ppt java

Os gráficos são usados para resumir e representar visualmente os dados nas apresentações. Para visualizar os dados, o MS PowerPoint oferece uma ampla variedade de tipos de gráficos. 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á a criar gráficos em apresentações do PowerPoint usando Java.

API Java para criar gráficos no PowerPoint

Para criar diferentes tipos de gráficos em apresentações, usaremos Aspose.Slides for Java. A referida API permite criar e manipular apresentações do PowerPoint a partir de seus aplicativos Java. Além disso, permite criar e adicionar gráficos às apresentações sem problemas. Você pode baixar a API ou instalá-la usando as seguintes configurações do Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>21.7</version>
    <classifier>jdk16</classifier>
</dependency>

Criar gráfico de colunas no PowerPoint PPT usando Java

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

  • Primeiro, crie uma instância da classe Apresentação (especifique o caminho do arquivo no construtor no caso de carregar uma apresentação existente).
  • Obtenha a referência do slide especificando seu índice.
  • Adicione um gráfico com dados padrão junto com o tipo ChartType.ClusteredColumn.
  • Limpe as séries e categorias padrão.
  • Acesse a pasta de trabalho de dados do gráfico em um objeto IChartDataWorkbook.
  • Adicione novas séries e categorias do gráfico à pasta de trabalho.
  • Adicione novos dados de gráfico à série de gráficos.
  • 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 em uma apresentação do PowerPoint usando Java.

// Criar uma nova apresentação
Presentation pres = new Presentation();
try {
    
    // Adicione um novo gráfico de colunas e limpe as categorias e séries padrão
    IChart ch = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 600, 450);
    ch.getChartData().getSeries().clear();
    ch.getChartData().getCategories().clear();
    
    // Acesse os dados do gráfico
    IChartDataWorkbook fact = ch.getChartData().getChartDataWorkbook();
    fact.clear(0);
    int defaultWorksheetIndex = 0;

    // Adicionar categorias
    IChartCategory category = ch.getChartData().getCategories().add(fact.getCell(0, "c2", "A"));
    category.getGroupingLevels().setGroupingItem(1, "Group1");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c3", "B"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c4", "C"));
    category.getGroupingLevels().setGroupingItem(1, "Group2");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c5", "D"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c6", "E"));
    category.getGroupingLevels().setGroupingItem(1, "Group3");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c7", "F"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c8", "G"));
    category.getGroupingLevels().setGroupingItem(1, "Group4");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c9", "H"));

    // Adicionar série
    IChartSeries series = ch.getChartData().getSeries().add(fact.getCell(0, "D1", "Series 1"),
            ChartType.ClusteredColumn);

    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D2", 10));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D3", 20));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D4", 30));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D5", 40));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D6", 50));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D7", 60));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D8", 70));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D9", 80));
    
    // Salvar apresentação com gráfico
    pres.save("column-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

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

Criar gráfico de colunas no PowerPoint Java

Criar gráfico disperso no PowerPoint PPT usando Java

A seguir estão as etapas para criar um gráfico disperso na apresentação do PowerPoint usando Java.

  • Crie uma nova apresentação ou carregue uma existente usando a classe Apresentação.
  • Obtenha a referência do slide 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.
  • Acesse o marcador da série usando IChartSeries.getMarker() e defina suas propriedades.
  • 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 disperso em apresentações do PowerPoint usando Java.

// Instanciar classe de apresentação que representa o arquivo PPTX
Presentation pres = new Presentation();
try {
    // Acesse o primeiro slide
    ISlide slide = pres.getSlides().get_Item(0);

    // Criar o gráfico padrão
    IChart chart = slide.getShapes().addChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);
    
    // Obtenha o índice da planilha de dados do gráfico padrão
    int defaultWorksheetIndex = 0;
    
    // Obter a planilha de dados do gráfico
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // Excluir série de demonstração
    chart.getChartData().getSeries().clear();
    
    // Adicionar nova série
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.getType());
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 3, "Series 2"), chart.getType());
    
    // Pegue a primeira série de gráficos
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);
    
    // Adicione um novo ponto (1:3) lá.
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 1), fact.getCell(defaultWorksheetIndex, 2, 2, 3));
    
    // Adicionar novo ponto (2:10)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 2), fact.getCell(defaultWorksheetIndex, 3, 2, 10));
    
    // Editar o tipo de série
    series.setType(ChartType.ScatterWithStraightLinesAndMarkers);
    
    // Alterar o marcador da série do gráfico
    series.getMarker().setSize(10);
    series.getMarker().setSymbol(MarkerStyleType.Star);
    
    // Pegue a segunda série de gráficos
    series = chart.getChartData().getSeries().get_Item(1);
    
    // Adicione um novo ponto (5:2) lá.
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 3, 5), fact.getCell(defaultWorksheetIndex, 2, 4, 2));
    
    // Adicionar novo ponto (3:1)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 3, 3), fact.getCell(defaultWorksheetIndex, 3, 4, 1));
    
    // Adicionar novo ponto (2:2)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 4, 3, 2), fact.getCell(defaultWorksheetIndex, 4, 4, 2));
    
    // Adicionar novo ponto (5:1)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 5, 3, 5), fact.getCell(defaultWorksheetIndex, 5, 4, 1));
    
    // Alterar o marcador da série do gráfico
    series.getMarker().setSize(10);
    series.getMarker().setSymbol(MarkerStyleType.Circle);
    
    // Salve a apresentação
    pres.save("scatter-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

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

criar gráfico disperso no powerpoint em c #

Criar gráfico de pizza no PowerPoint PPT usando Java

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

  • Crie uma nova apresentação ou carregue uma existente usando a classe Apresentação.
  • Obtenha a referência do slide fornecendo seu índice.
  • Adicione um gráfico com dados padrão junto com o tipo ChartType.Pie.
  • Acesse os dados do gráfico em um objeto IChartDataWorkbook.
  • Limpe as séries e categorias padrão.
  • Crie novas séries e categorias.
  • Adicione novos dados de gráfico para a série do gráfico.
  • Adicione novos pontos para gráficos e adicione cores personalizadas para os setores do gráfico de pizza.
  • Defina rótulos para séries e linhas de chamada para rótulos.
  • Defina o ângulo de rotação dos slides do gráfico de pizza.
  • 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 Java.

// Instanciar classe de apresentação que representa o arquivo PPTX
Presentation pres = new Presentation();
try {
    // Acesse o primeiro slide
    ISlide slides = pres.getSlides().get_Item(0);
    
    // Adicionar gráfico com dados padrão
    IChart chart = slides.getShapes().addChart(ChartType.Pie, 100, 100, 400, 400);
    
    // Definir título do gráfico
    chart.getChartTitle().addTextFrameForOverriding("Sample Title");
    chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True);
    chart.getChartTitle().setHeight(20);
    chart.setTitle(true);
    
    // Defina a primeira série para Mostrar valores
    chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
    
    // Definir o índice da folha de dados do gráfico
    int defaultWorksheetIndex = 0;
    
    // Obter a planilha de dados do gráfico
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // Excluir séries e categorias geradas padrão
    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();
    
    // Adicionar novas categorias
    chart.getChartData().getCategories().add(fact.getCell(0, 1, 0, "First Qtr"));
    chart.getChartData().getCategories().add(fact.getCell(0, 2, 0, "2nd Qtr"));
    chart.getChartData().getCategories().add(fact.getCell(0, 3, 0, "3rd Qtr"));
    
    // Adicionar nova série
    IChartSeries series = chart.getChartData().getSeries().add(fact.getCell(0, 0, 1, "Series 1"), chart.getType());
    
    // Agora preenchendo dados de série
    series.getDataPoints().addDataPointForPieSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 20));
    series.getDataPoints().addDataPointForPieSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 50));
    series.getDataPoints().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.getChartData().getSeriesGroups().get_Item(0).setColorVaried(true);
    
    IChartDataPoint point = series.getDataPoints().get_Item(0);
    point.getFormat().getFill().setFillType(FillType.Solid);
    point.getFormat().getFill().getSolidFillColor().setColor(Color.CYAN);
	
    // Definir borda do setor
    point.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
    point.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.GRAY);
    point.getFormat().getLine().setWidth(3.0);
    //point.getFormat().getLine().setStyle(LineStyle.ThinThick);
    //point.getFormat().getLine().setDashStyle(LineDashStyle.DashDot);
    
    IChartDataPoint point1 = series.getDataPoints().get_Item(1);
    point1.getFormat().getFill().setFillType(FillType.Solid);
    point1.getFormat().getFill().getSolidFillColor().setColor(Color.ORANGE);
    
    // Definir borda do setor
    point1.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
    point1.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
    point1.getFormat().getLine().setWidth(3.0);
    //point1.getFormat().getLine().setStyle(LineStyle.Single);
    //point1.getFormat().getLine().setDashStyle(LineDashStyle.LargeDashDot);
    
    IChartDataPoint point2 = series.getDataPoints().get_Item(2);
    point2.getFormat().getFill().setFillType(FillType.Solid);
    point2.getFormat().getFill().getSolidFillColor().setColor(Color.YELLOW);
    
    // Definir borda do setor
    point2.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
    point2.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
    point2.getFormat().getLine().setWidth(2.0);
    //point2.getFormat().getLine().setStyle(LineStyle.ThinThin);
    //point2.getFormat().getLine().setDashStyle(LineDashStyle.LargeDashDotDot);
    
    // Crie rótulos personalizados para cada uma das categorias para novas séries
    IDataLabel lbl1 = series.getDataPoints().get_Item(0).getLabel();
    
    // lbl.ShowCategoryName = true;
    lbl1.getDataLabelFormat().setShowValue(true);
    
    IDataLabel lbl2 = series.getDataPoints().get_Item(1).getLabel();
    lbl2.getDataLabelFormat().setShowValue(true);
    lbl2.getDataLabelFormat().setShowLegendKey(true);
    lbl2.getDataLabelFormat().setShowPercentage(true);
    
    IDataLabel lbl3 = series.getDataPoints().get_Item(2).getLabel();
    lbl3.getDataLabelFormat().setShowSeriesName(true);
    lbl3.getDataLabelFormat().setShowPercentage(true);
    
    // Mostrar Linhas Líderes para Gráfico
    series.getLabels().getDefaultDataLabelFormat().setShowLeaderLines(true);
    
    // Definir ângulo de rotação para setores do gráfico de pizza
    chart.getChartData().getSeriesGroups().get_Item(0).setFirstSliceAngle(180);
    
    // Salvar apresentação com gráfico
    pres.save("pie-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

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

Criar gráfico de pizza no PowerPoint Java

Adicionar gráfico de histograma no PowerPoint PPTX usando Java

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

  • Crie uma nova apresentação ou carregue uma existente usando a classe Apresentação.
  • Obtenha a referência do slide fornecendo seu índice.
  • Adicione um gráfico com dados padrão junto com o tipo ChartType.Histogram.
  • Acesse os dados do gráfico no objeto IChartDataWorkbook.
  • Limpe as séries e categorias padrão.
  • Adicione novas séries e categorias.
  • 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 Java.

// Criar uma nova apresentação
Presentation pres = new Presentation();
try {
    
    // Adicione um novo gráfico de histograma e limpe suas categorias e séries
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Histogram, 50, 50, 500, 400);
    chart.getChartData().getCategories().clear();
    chart.getChartData().getSeries().clear();

    // Acessar dados do gráfico
    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
    wb.clear(0);

    // Adicionar série
    IChartSeries series = chart.getChartData().getSeries().add(ChartType.Histogram);
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A1", 15));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A2", -41));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A3", 16));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A4", 10));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A5", -23));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A6", 16));

    chart.getAxes().getHorizontalAxis().setAggregationType(AxisAggregationType.Automatic);

    // Salve a apresentação
    pres.save("histogram-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

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 Java

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 em Java.

  • Crie uma instância da classe Apresentação.
  • Obtenha a referência do slide fornecendo seu índice.
  • Adicione um gráfico com dados padrão junto com o tipo ChartType.OpenHighLowClose.
  • Acesse os dados do gráfico no objeto IChartDataWorkbook.
  • Limpe as séries e categorias padrão.
  • Adicione novas séries e categorias.
  • Adicione novos dados de gráfico para a série do gráfico.
  • 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#.

// Criar uma nova apresentação
Presentation pres = new Presentation();
try {
    
    // Adicionar gráfico
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.OpenHighLowClose, 50, 50, 600, 400, false);

    // Limpar categorias e séries
    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();

    // Acessar dados do gráfico
    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();

    // Adicionar categorias
    chart.getChartData().getCategories().add(wb.getCell(0, 1, 0, "A"));
    chart.getChartData().getCategories().add(wb.getCell(0, 2, 0, "B"));
    chart.getChartData().getCategories().add(wb.getCell(0, 3, 0, "C"));

    chart.getChartData().getSeries().add(wb.getCell(0, 0, 1, "Open"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 2, "High"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 3, "Low"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 4, "Close"), chart.getType());

    // Adicionar dados da série
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);

    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 1, 72));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 1, 25));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 1, 38));

    series = chart.getChartData().getSeries().get_Item(1);
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 2, 172));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 2, 57));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 2, 57));

    series = chart.getChartData().getSeries().get_Item(2);
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 3, 12));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 3, 12));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 3, 13));

    series = chart.getChartData().getSeries().get_Item(3);
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 4, 25));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 4, 38));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 4, 50));

    chart.getChartData().getSeriesGroups().get_Item(0).getUpDownBars().setUpDownBars(true);
    chart.getChartData().getSeriesGroups().get_Item(0).getHiLowLinesFormat().getLine().getFillFormat().setFillType(FillType.Solid);

    for (IChartSeries ser : chart.getChartData().getSeries())
    {
        ser.getFormat().getLine().getFillFormat().setFillType(FillType.NoFill);
    }

    // Salve a apresentação
    pres.save("output.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

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 usar a API sem limitações de avaliação.

Experimente on-line

Você também pode experimentar a ferramenta online gratuita para criar gráficos em apresentações do PowerPoint, que é baseada no Aspose.Slides.

Conclusão

Neste artigo, você aprendeu como criar gráficos em apresentações do PowerPoint usando Java. 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 for Java usando documentação. Caso você tenha alguma dúvida, informe-nos através do nosso fórum.

Veja também