Estoy usando los paquetes officer y rvg para obtener gráficos de R en MS PowerPoint como gráficos vectoriales editables. Ejemplo reproducible a continuación.
Estoy buscando una forma de implementar una solución equivalente con python, preferiblemente usando matplotlib . La parte crítica no es la creación de diapositivas desde el IDE, sino la parte de gráficos vectoriales editables, es decir, los gráficos deben terminar en PowerPoint como objetos agrupados compuestos por una variedad de geometrías simples de PowerPoint, como líneas, cuadrados y campos de texto.
ejemplo R:
library(tidyverse) library(officer) library(rvg) # Get some data and make a plot ggp <- diamonds %>% group_by(clarity) %>% summarise(price = mean(price)) %>% ggplot(aes(x = clarity, y = price, fill = clarity)) + geom_bar(stat = 'identity', colour = 'black') # Create a new powerpoint document doc <- read_pptx() doc <- add_slide(doc, 'Title and Content', 'Office Theme') # Add the plot doc <- ph_with_vg(doc, ggobj = ggp, type = 'body') # Write the document to a file print(doc, target = 'plots.pptx')El gráfico resultante es completamente editable:
Desde la versión 2019 de MS Office, puede agregar archivos svg como imágenes y luego desagruparlos para hacerlos editables. Consulte 'Convertir una imagen SVG en una forma de Office' en esta página de MS . Sin embargo, en mi experiencia personal, esto no es ni muy estable ni completo .
Otra forma, que es más estable y completa aunque todavía no es perfecta , es importarlo en powerpoint como un archivo emf , que también es un formato vectorial. La versión anterior de matplotlib podría exportarse a este formato. Para una versión más nueva, exporto como svg y luego uso inkscape --file "input.svg" --export-emf "output.emf" para convertir a emf , que luego cargo en powerpoint. Desagrupar el objeto nuevamente le permite editar, si todo funciona bien.