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 para criar gráficos no PowerPoint
- Criar gráfico de colunas no PowerPoint usando Java
- Criar gráfico disperso no PowerPoint usando Java
- Adicionar gráfico de pizza no PowerPoint usando Java
- Adicionar gráfico de histograma no PowerPoint usando Java
- Criar um gráfico de ações no 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 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 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.
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 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.
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.