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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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?
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.