2014-09-18 18 views
6

Normalmente salgo i miei grafici in python come PNG. Funziona bene, ma ha gli inconvenienti ovvi quando si tratta di ridimensionare in seguito. Quindi voglio salvare i miei grafici, figure, ecc. Come grafica vettoriale e quindi essere in grado di importarli in applicazioni Windows come word o powerpoint.Il modo migliore per creare grafica vettoriale in python da utilizzare in word/powerpoint

Ora devo affrontare diversi problemi.

  • salvare qualcosa da matplotlib in quanto la grafica vettoriale di supporto (SVG) funziona correttamente. Problema, non posso (facilmente) importarlo in word o in pp.
  • salvando come EPS dà un risultato orribile. Per esempio ho delle aree ombreggiate tra due linee (usando fill_between con un alfa di 0.3) e in EPS queste aree sono completamente colorate. Importa in word/pp funziona ma la grafica non va bene.
  • Ho anche provato a convertire i file SVG in EPS utilizzando inkscape. Qui le aree ombreggiate sono ancora conservate, ma la qualità generale non è di nuovo buona (sembra in realtà più una grafica raster errata) e anche alcune leggende sono tagliate.

Ecco alcune immagini che cercano di visualizzare il mio problema.

plot saved as PNG after importing into word - the way it should look

plot saved as EPS after importing into word - no shading, axe labels and no legend (not shown)

plot saved as SVG and then converted to EPS using inkscape after importing into word - shading correct, but all writing (labels, title etc.) in poor quality, looks actually more like a bad raster graphic

+0

Si può provare a convertire l'immagine vettoriale in formato 'wmf' o' emf'. Gli ultimi due sono formati vettoriali supportati nativamente da Office. –

risposta

0

Quale versione di Office stai usando e su Windows o Mac?

E in generale: l'uso di EPS con Office è un business peculiare. Office non gestisce l'EPS in alcun modo standard. Se si stampa sempre su una stampante PostScript o si utilizza un altro metodo di output basato su PostScript (stampando su PS e quindi sulla distileria in PDF, ad esempio), l'EPS può funzionare molto bene se si apporta una modifica al Registro di sistema per indicare PPT (non so su Word) per comportarsi correttamente. Chiedi e vedrò se riesco a chiarire i dettagli. Altrimenti, tenta di interpretare il contenuto PS dell'SPS stesso e può o meno farne un buon lavoro.

È possibile convertire in EMF (presupponendo che Windows qui)? E se no, puoi controllare la risoluzione delle tue immagini? Potresti ottenere i migliori risultati convertendo in un PNG a risoluzione più alta.

+0

Grazie per la risposta. Io lavoro su Windows con Office 2007. Non sono dipendente dall'utilizzo di EPS, preferisco avere una grafica vettoriale che può essere utilizzata in Word o Powerpoint (dove Powerpoint alla fine non è così importante, come normalmente non si usa " t necessario stampare questo). EMF Non ho provato, ma posso farlo. PNG a risoluzione maggiore possono aiutare ma anche far esplodere il documento. Quello che sembrava funzionare era generare PDF, ma gestirli in Word non è così facile e non sono sicuro che il PDF generato in Python sia una vera grafica vettoriale? –

+0

Per il tipo di grafica mostrata come esempi, la compressione di PNG dovrebbe funzionare abbastanza bene. Vale la pena provare, in ogni caso. Stranamente, PowerPoint (e forse Word) sono a volte più reattivi con PNG di grandi dimensioni che con grafica vettoriale che contiene un gran numero di segmenti di linea o nodi di curve (come sarà il tuo). –

0

Windows sembra ora fornire un buon supporto per incorporare la maggior parte dei PDF come file vettoriali e preserverà le caratteristiche del vettore durante l'esportazione in PDF. Ciò si basa sulla mia esperienza con Office 2011 per Mac, ma dovrebbe estendersi a MS Office 2007 per Windows. Salvando il mio plot Matplotlib come PDF, importarlo in un documento Word e sono in grado di salvarlo come output vettoriale.

L'unico problema: se si incorpora un PDF all'interno di una casella di testo, Word lo rasterizza quando lo si salva in un PDF.

Per un supporto vettoriale più avanzato, provare OpenOffice- credo che supporti l'importazione diretta di SVG, anche se con alcuni bug.