Os gráficos são utilizados para a representação gráfica dos dados, o que facilita a análise. Portanto, o MS PowerPoint oferece suporte a uma variedade de gráficos para visualizar os dados de diferentes maneiras. Dentre todos, os gráficos mais usados incluem gráficos de pizza, gráficos de linhas, gráficos de barras, histogramas, gráficos de ações, etc. Neste artigo, você aprenderá como criar esses gráficos em PowerPoint PPT ou PPTX em Python.
- Biblioteca Python para criar gráficos no PowerPoint
- Criar gráfico de colunas no PowerPoint em Python
- Criar gráfico de dispersão em PPT em Python
- Adicionar gráfico de pizza em PPT em Python
- Adicionar gráfico de histograma em PPT em Python
- Criar um gráfico de ações no PowerPoint em Python
- Mais sobre gráficos
Biblioteca Python para criar gráficos no PowerPoint PPT
Para criar gráficos em PowerPoint PPT/PPTX, usaremos Aspose.Slides for Python via .NET. É uma biblioteca rica em recursos que fornece um pacote completo para criar e manipular apresentações em PowerPoint. Você pode instalá-lo de PyPI usando o seguinte comando pip.
> pip install aspose.slides
Aspose.Slides suporta uma variedade de gráficos que podem ser adicionados às apresentações dinamicamente. Nas seções a seguir, demonstraremos como criar alguns tipos populares de gráficos.
Criar gráfico de colunas no PowerPoint PPT em Python
Nesta seção, você aprenderá como criar um gráfico de colunas em uma apresentação do PowerPoint em Python. A seguir estão as etapas para realizar esta operação.
- Primeiro, crie uma instância da classe Presentation.
- Obtenha a referência do slide de Presentations.slides em um objeto.
- Adicione um gráfico de colunas agrupadas com dados padrão usando o método Slide.shapes.addchart().
- Defina o título do gráfico e outras propriedades, como formatação de texto.
- Acesse a pasta de trabalho de dados do gráfico em um objeto usando o método Chart.chartdata.chartdataworkbook().
- Limpe todas as séries e categorias padrão dos dados do gráfico usando os métodos Chart.chartdata.series.clear() e Chart.chartdata.categories.clear() respectivamente.
- Adicione novas séries e categorias.
- Acesse cada série do gráfico em um objeto 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).
O exemplo de código a seguir mostra como criar um gráfico de colunas no PowerPoint PPT em Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Criar apresentação (ou carregar uma existente)
with slides.Presentation() as pres:
# Acesse o primeiro slide
sld = pres.slides[0]
# Adicionar gráfico com dados padrão
chart = sld.shapes.add_chart(slides.charts.ChartType.CLUSTERED_COLUMN, 0, 0, 500, 500)
# Definir título do gráfico
chart.chart_title.add_text_frame_for_overriding("Sample Title")
chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = 1
chart.chart_title.height = 20
chart.has_title = True
# Defina a primeira série para mostrar valores
chart.chart_data.series[0].labels.default_data_label_format.show_value = True
# Definir o índice da folha de dados do gráfico
defaultWorksheetIndex = 0
# Obtenha a planilha de dados do gráfico
fact = chart.chart_data.chart_data_workbook
# Excluir séries e categorias geradas padrão
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
s = len(chart.chart_data.series)
s = len(chart.chart_data.categories)
# Adicionar nova série
chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.type)
chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.type)
# Adicionar novas categorias
chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"))
chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"))
chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"))
# Pegue a primeira série de gráficos
series = chart.chart_data.series[0]
# Preencher dados da série
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30))
# Definir cor de preenchimento para série
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = drawing.Color.blue
# Pegue a segunda série de gráficos
series = chart.chart_data.series[1]
# Preencher dados da série
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 2, 30))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 2, 10))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 2, 60))
# Definir cor de preenchimento para série
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = drawing.Color.orange
# A primeira etiqueta mostrará o nome da categoria
lbl = series.data_points[0].label
lbl.data_label_format.show_category_name = True
lbl = series.data_points[1].label
lbl.data_label_format.show_series_name = True
# Mostrar valor para o terceiro rótulo
lbl = series.data_points[2].label
lbl.data_label_format.show_value = True
lbl.data_label_format.show_series_name = True
lbl.data_label_format.separator = "/"
# Salvar apresentação
pres.save("column-chart.pptx", slides.export.SaveFormat.PPTX)
A seguir está a captura de tela do gráfico de colunas resultante.
Criar gráfico de dispersão no PowerPoint PPT em Python
A seguir estão as etapas para criar um gráfico de dispersão no PowerPoint PPT em Python.
- Primeiro, crie uma instância da classe Presentation.
- Obtenha a referência do slide de Presentations.slides em um objeto.
- Adicione um gráfico de dispersão com dados padrão usando o método Slide.shapes.addchart().
- Acesse a pasta de trabalho de dados do gráfico em um objeto usando o método Chart.chartdata.chartdataworkbook().
- Adicione uma nova série aos dados do gráfico.
- Acesse cada série em um objeto e adicione pontos de dados à série.
- Defina o marcador para a série.
- Finalmente, 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 no PowerPoint PPTX em Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Criar apresentação (ou carregar uma existente)
with slides.Presentation() as pres:
# Acesse o primeiro slide
slide = pres.slides[0]
# Criar o gráfico padrão
chart = slide.shapes.add_chart(slides.charts.ChartType.SCATTER_WITH_SMOOTH_LINES, 0, 0, 400, 400)
# Obtenha o índice da planilha de dados do gráfico padrão
defaultWorksheetIndex = 0
# Obtenha a planilha de dados do gráfico
fact = chart.chart_data.chart_data_workbook
# Excluir série de demonstração
chart.chart_data.series.clear()
# Adicionar nova série
chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.type)
chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 3, "Series 2"), chart.type)
# Faça a primeira série de gráficos
series = chart.chart_data.series[0]
# Adicionar novo ponto (1:3)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 1), fact.get_cell(defaultWorksheetIndex, 2, 2, 3))
# Adicionar novo ponto (2:10)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 2), fact.get_cell(defaultWorksheetIndex, 3, 2, 10))
# Editar o tipo de série
series.type = slides.charts.ChartType.SCATTER_WITH_STRAIGHT_LINES_AND_MARKERS
# Alterar o marcador da série do gráfico
series.marker.size = 10
series.marker.symbol = slides.charts.MarkerStyleType.STAR
# Pegue a segunda série de gráficos
series = chart.chart_data.series[1]
# Adicionar novo ponto (5:2)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 2, 3, 5), fact.get_cell(defaultWorksheetIndex, 2, 4, 2))
# Adicionar novo ponto (3:1)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 3, 3, 3), fact.get_cell(defaultWorksheetIndex, 3, 4, 1))
# Adicionar novo ponto (2:2)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 4, 3, 2), fact.get_cell(defaultWorksheetIndex, 4, 4, 2))
# Adicionar novo ponto (5:1)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 5, 3, 5), fact.get_cell(defaultWorksheetIndex, 5, 4, 1))
# Alterar o marcador da série do gráfico
series.marker.size = 10
series.marker.symbol = slides.charts.MarkerStyleType.CIRCLE
# Salvar apresentação
pres.save("scatter-chart.pptx", slides.export.SaveFormat.PPTX)
A captura de tela a seguir mostra o gráfico de dispersão resultante.
Criar gráfico de pizza no PowerPoint PPT em Python
A seguir estão as etapas para criar um gráfico de pizza em um PowerPoint PPT em Python.
- Primeiro, crie uma instância da classe Presentation.
- Obtenha a referência do slide de Presentations.slides em um objeto.
- Adicione um gráfico de pizza com dados padrão usando o método Slide.shapes.addchart().
- Defina o título do gráfico e outras propriedades, como formatação de texto.
- Defina a visibilidade dos valores.
- Limpe todas as séries e categorias padrão dos dados do gráfico usando os métodos Chart.chartdata.series.clear() e Chart.chartdata.categories.clear() respectivamente.
- Acesse a pasta de trabalho de dados do gráfico em um objeto usando o método Chart.chartdata.chartdataworkbook().
- Adicione novas categorias aos dados do gráfico.
- Adicione uma nova série aos dados do gráfico.
- Acesse cada série em um objeto e adicione pontos de dados à série.
- Acesse cada ponto de dados e defina sua formatação.
- Aplique formatação aos rótulos de dados nos pontos de dados.
- Defina as linhas principais e os ângulos de rotação.
- Finalmente, 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 no PowerPoint PPTX em Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Criar apresentação (ou carregar uma existente)
with slides.Presentation() as presentation:
# Acesse o primeiro slide
slide = presentation.slides[0]
# Adicionar gráfico com dados padrão
chart = slide.shapes.add_chart(slides.charts.ChartType.PIE, 100, 100, 400, 400)
# Definir título do gráfico
chart.chart_title.add_text_frame_for_overriding("Sample Title")
chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = 1
chart.chart_title.height = 20
chart.has_title = True
# Defina a primeira série para mostrar valores
chart.chart_data.series[0].labels.default_data_label_format.show_value = True
# Definir o índice da folha de dados do gráfico
defaultWorksheetIndex = 0
# Obtenha a planilha de dados do gráfico
fact = chart.chart_data.chart_data_workbook
# Excluir séries e categorias geradas padrão
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
# Adicionar novas categorias
chart.chart_data.categories.add(fact.get_cell(0, 1, 0, "First Qtr"))
chart.chart_data.categories.add(fact.get_cell(0, 2, 0, "2nd Qtr"))
chart.chart_data.categories.add(fact.get_cell(0, 3, 0, "3rd Qtr"))
# Adicionar nova série
series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "Series 1"), chart.type)
# Preencher dados da série
series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20))
series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50))
series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30))
# Adicione novos pontos e defina a cor do setor
chart.chart_data.series_groups[0].is_color_varied = True
point = series.data_points[0]
point.format.fill.fill_type = slides.FillType.SOLID
point.format.fill.solid_fill_color.color = drawing.Color.orange
# Definir borda do setor
point.format.line.fill_format.fill_type = slides.FillType.SOLID
point.format.line.fill_format.solid_fill_color.color = drawing.Color.gray
point.format.line.width = 3.0
# point.format.line.style = slides.LineStyle.THIN_THICK
# point.format.line.dash_style = slides.LineDashStyle.DASH_DOT
point1 = series.data_points[1]
point1.format.fill.fill_type = slides.FillType.SOLID
point1.format.fill.solid_fill_color.color = drawing.Color.blue_violet
# Definir borda do setor
point1.format.line.fill_format.fill_type = slides.FillType.SOLID
point1.format.line.fill_format.solid_fill_color.color = drawing.Color.blue
point1.format.line.width = 3.0
# point1.format.line.style = slides.LineStyle.SINGLE
# point1.format.line.dash_style = slides.LineDashStyle.LARGE_DASH_DOT
point2 = series.data_points[2]
point2.format.fill.fill_type = slides.FillType.SOLID
point2.format.fill.solid_fill_color.color = drawing.Color.yellow_green
# Definir borda do setor
point2.format.line.fill_format.fill_type = slides.FillType.SOLID
point2.format.line.fill_format.solid_fill_color.color = drawing.Color.red
point2.format.line.width = 2.0
# point2.format.line.style = slides.LineStyle.THIN_THIN
# point2.format.line.dash_style = slides.LineDashStyle.LARGE_DASH_DOT_DOT
# Crie rótulos personalizados para cada uma das categorias para novas séries
lbl1 = series.data_points[0].label
# lbl.show_category_name = Verdadeiro
lbl1.data_label_format.show_value = True
lbl2 = series.data_points[1].label
lbl2.data_label_format.show_value = True
lbl2.data_label_format.show_legend_key = True
lbl2.data_label_format.show_percentage = True
lbl3 = series.data_points[2].label
lbl3.data_label_format.show_series_name = True
lbl3.data_label_format.show_percentage = True
# Mostrar linhas de chamada para o gráfico
# series.labels.default_data_label_format.show_leader_lines = Verdadeiro
# Definir o ângulo de rotação para setores do gráfico de pizza
chart.chart_data.series_groups[0].first_slice_angle = 180
# Salvar apresentação
presentation.save("pie-chart.pptx", slides.export.SaveFormat.PPTX)
A seguir está a captura de tela do gráfico de pizza gerado.
Adicionar gráfico de histograma no PowerPoint PPTX em Python
A seguir estão as etapas para criar um gráfico de histograma no PowerPoint PPT usando Aspose.Slides para Python.
- Primeiro, crie uma instância da classe Presentation.
- Obtenha a referência do slide de Presentations.slides em um objeto.
- Adicione um gráfico de histograma com dados padrão usando o método Slide.shapes.addchart().
- Limpe as séries e categorias padrão.
- Acesse a pasta de trabalho de dados do gráfico em um objeto usando o método Chart.chartdata.chartdataworkbook().
- Adicione uma nova série aos dados do gráfico.
- Acesse cada série em um objeto e adicione pontos de dados à série.
- Defina o tipo de agregação do eixo do gráfico.
- Finalmente, 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 em PPTX em Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Criar apresentação (ou carregar uma existente)
with slides.Presentation() as pres:
# Adicionar gráfico
chart = pres.slides[0].shapes.add_chart(slides.charts.ChartType.HISTOGRAM, 50, 50, 500, 400)
# Limpar categorias e séries padrão
chart.chart_data.categories.clear()
chart.chart_data.series.clear()
# Acessar pasta de trabalho
wb = chart.chart_data.chart_data_workbook
wb.clear(0)
# Adicionar pontos de dados à série
series = chart.chart_data.series.add(slides.charts.ChartType.HISTOGRAM)
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A1", 15))
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A2", -41))
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A3", 16))
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A4", 10))
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A5", -23))
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A6", 16))
# Definir tipo de agregação
chart.axes.horizontal_axis.aggregation_type = slides.charts.AxisAggregationType.AUTOMATIC
# Salvar apresentação
pres.save("histogram-chart.pptx", slides.export.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 Python
Os gráficos de ações também estão entre os tipos de gráficos comumente usados em apresentações do PowerPoint. A seguir estão as etapas para criar um gráfico de ações em um PPT em Python.
- Primeiro, crie uma instância da classe Presentation.
- Obtenha a referência do slide de Presentations.slides em um objeto.
- Adicione um gráfico Open High Low Close com dados padrão usando o método Slide.shapes.addchart().
- Limpe as séries e categorias padrão.
- Acesse a pasta de trabalho de dados do gráfico em um objeto usando o método Chart.chartdata.chartdataworkbook().
- Adicione novas séries e categorias ao gráfico.
- Acesse cada série do gráfico e adicione pontos de dados.
- Especifique o formato Hi Low Lines.
- Finalmente, 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 ao PowerPoint PPTX em Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Criar apresentação (ou carregar uma existente)
with slides.Presentation() as pres:
# Adicionar gráfico
chart = pres.slides[0].shapes.add_chart(slides.charts.ChartType.OPEN_HIGH_LOW_CLOSE, 50, 50, 600, 400, False)
# Limpar séries e categorias padrão
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
# Acessar pasta de trabalho
wb = chart.chart_data.chart_data_workbook
# Adicionar categorias
chart.chart_data.categories.add(wb.get_cell(0, 1, 0, "A"))
chart.chart_data.categories.add(wb.get_cell(0, 2, 0, "B"))
chart.chart_data.categories.add(wb.get_cell(0, 3, 0, "C"))
# Adicionar série
chart.chart_data.series.add(wb.get_cell(0, 0, 1, "Open"), chart.type)
chart.chart_data.series.add(wb.get_cell(0, 0, 2, "High"), chart.type)
chart.chart_data.series.add(wb.get_cell(0, 0, 3, "Low"), chart.type)
chart.chart_data.series.add(wb.get_cell(0, 0, 4, "Close"), chart.type)
# Adicionar pontos de dados
series = chart.chart_data.series[0]
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 1, 1, 72))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 2, 1, 25))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 3, 1, 38))
series = chart.chart_data.series[1]
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 1, 2, 172))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 2, 2, 57))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 3, 2, 57))
series = chart.chart_data.series[2]
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 1, 3, 12))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 2, 3, 12))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 3, 3, 13))
series = chart.chart_data.series[3]
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 1, 4, 25))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 2, 4, 38))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 3, 4, 50))
chart.chart_data.series_groups[0].up_down_bars.has_up_down_bars = True
chart.chart_data.series_groups[0].hi_low_lines_format.line.fill_format.fill_type = slides.FillType.SOLID
# Definir formatação de preenchimento de série
for ser in chart.chart_data.series:
ser.format.line.fill_format.fill_type = slides.FillType.NO_FILL
# Salvar apresentação
pres.save("stock-chart.pptx", slides.export.SaveFormat.PPTX)
A seguir está a captura de tela do gráfico de ações criado.
Mais sobre gráficos
Existem muitos outros gráficos que você pode adicionar às apresentações do PowerPoint usando o Aspose.Slides for Python. Para ler mais sobre os tipos de gráficos suportados, você pode visitar este artigo de documentação.
Obtenha uma licença gratuita
Você pode obter uma licença temporária gratuita para experimentar a biblioteca sem limitações de avaliação.
Conclusão
Neste artigo, você aprendeu como criar gráficos no PowerPoint PPT ou PPTX em Python. Passamos pelas etapas e exemplos de código de 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 Python usando documentação. Caso você tenha alguma dúvida ou pergunta, informe-nos através do nosso fórum.