Die folgenden Verfahren werden wahrscheinlich nicht die eleganteste Lösung sein, aber Sie können damit ein Seaborn-Plot erstellen, es als Bilddatei speichern und dasselbe Bild in eine geöffnete PowerPoint-Präsentation exportieren. Abhängig davon, ob Sie LinkToFile
auf True
oder False
setzen, werden die Bilder aktualisiert oder nicht aktualisiert, wenn sich die Quelle ändert. Ich benutze das mit Zellen in Spyder, aber es sollte auch in einem Jupyter-Notebook funktionieren. Stellen Sie sicher, dass Sie einen Ordner mit dem Namen c:\pptSeaborn\
haben.
Hier ist sie:
# Some imports
import numpy as np
import seaborn as sns
import os
import matplotlib.pyplot as plt
import win32com.client
import win32api
os.chdir('C:/pptSeaborn')
# Settings for some random data
mu = 0
sigma = 1
simulation = np.random.normal(mu, sigma, 10)
# Make seaborn plot from simulated data. Save as image file.
def SeabornPlot(data, filename = 'c:\\pptSeaborn\\snsPlot.png'):
ax = sns.kdeplot(data, shade=True)
fig = ax.get_figure()
fig.savefig(filename, bbox_inches='tight', dpi = 440)
plt.close(fig)
# Import image file to active powerpoint presentation
def SeabornPPT(plotSource, linkImage):
Application = win32com.client.Dispatch("PowerPoint.Application")
Presentation = Application.Activepresentation
slidenr = Presentation.Slides.Count + 1
Base = Presentation.Slides.Add(slidenr, 12)
gph = Base.Shapes.AddPicture(FileName=plotSource,
LinkToFile=linkImage, SaveWithDocument=True,
Left=50, Top=25, Width=800, Height=500)
Presentation.slides(slidenr).select()
# Produce data, save plot as image, and export image to powerpoint
SeabornPlot(data = simulation)
SeabornPPT(plotSource = 'c:\\pptSeaborn\\snsPlot.png', linkImage = False)
Nun, wenn Sie eine offene Powerpoint-Präsentation haben und das Ganze fünf Mal ausführen, werden Sie ungefähr wie folgt erhalten:
Wenn Sie Geh voran und rette das irgendwo, und öffne es wieder, es wird immer noch dasselbe aussehen.
Jetzt können Sie linkImage = True
setzen und das Ganze fünf Mal wieder ausführen. Abhängig von den Zufallsdaten erhalten Sie immer noch fünf Folien mit verschiedenen Grafiken.
Aber jetzt, wenn Sie die Präsentation speichern und wieder öffnen, werden alle Grundstücke werden gleich aussehen, weil sie auf die gleiche Bilddatei verknüpft sind:
Der nächste Schritt könnte sein, die ganze Sache in eine Funktion einzuwickeln, die filename und LinkToFile als Argumente nimmt. Sie können auch angeben, ob die Prozedur bei jedem Exportieren eines Bilds eine neue Folie erstellt. Ich hoffe du findest meine sggestion nützlich. Ich mochte deine Frage, und ich hoffe, ein paar andere Vorschläge zu sehen.
Danke für die Antwort, Joel. Ich arbeite für ein Unternehmen, das ihre Corporate Slides und Think-Cell-Addins verwenden möchte, so dass das Erstellen einer Diashow von Jupyter keine Option ist. Ich werde Anaconda Fusion versuchen. –