Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Salvar figuras em PPTX

Boa tarde, Acho interessante criar vários gráficos e armazena-los em um arquivo PPTX. Há alguma forma de instanciar os gráficos em variáveis para depois serem passados como argumentos em uma função que salve-os em uma arquivo PPTX?

2 respostas
solução!

Olá, Alison! tudo bem?

Para realizar essa tarefa, é possível utilizar a biblioteca python-pptx, que permite criar apresentações PowerPoint diretamente com o Python.

Primeiramente, você pode instalar a biblioteca executando o comando:

pip install python-pptx

Em seguida, aqui está um exemplo de código que cria dois gráficos e os salva em um arquivo PPTX, cada um em um slide diferente:

import os
import matplotlib.pyplot as plt
from pptx import Presentation
from pptx.util import Inches
from io import BytesIO

def salvar_grafico_pptx(grafico, nome_arquivo_pptx, numero_slide):
    if os.path.exists(nome_arquivo_pptx):
        prs = Presentation(nome_arquivo_pptx)
    else:
        prs = Presentation()
    
    slide = prs.slides.add_slide(prs.slide_layouts[5])  # Escolha o layout do slide conforme necessário

    # Salvar o gráfico em um objeto BytesIO
    img_bytes = BytesIO()
    grafico.savefig(img_bytes)
    img_bytes.seek(0)

    # Adicionar a imagem ao slide
    left = top = Inches(2)  # Ajuste a posição conforme necessário
    slide.shapes.add_picture(img_bytes, left, top)

    # Salvar o arquivo PPTX
    prs.save(nome_arquivo_pptx)

# Criar os gráficos
fig1, ax1 = plt.subplots()
ax1.plot([1, 2, 3, 4])

fig2, ax2 = plt.subplots()
ax2.bar(['A', 'B', 'C'], [10, 20, 15])

# Salvar o primeiro gráfico no slide 1 e o segundo no slide 2 do arquivo PPTX
salvar_grafico_pptx(fig1, 'grafico1.pptx', 1)
salvar_grafico_pptx(fig2, 'grafico1.pptx', 2)

Esse código utiliza a biblioteca matplotlib para criar os gráficos e a python-pptx para inseri-los em slides separados no arquivo PPTX. Fique à vontade para adaptar conforme suas necessidades específicas!

Se tiver mais alguma dúvida ou precisar de mais ajuda, estou à disposição!

Bons estudos!

Entendi, os gráficos neste caso já são instanciados fig n na hora de fazer o plot. Agradeço muito pelo seu tempo e disponibilidade de me ajudar.

Fiz a pergunta acima, porque, de praxys, crio listas organizando as features por tipo (categórica, numeral ordinal, bool, etc), e assim fica fácil iterar e gerar muitos gráficos, destarte, achei interessante saber forma de salvar estes gráficos e fazer uma análise exploratório bem completa.