Mi piacerebbe essere in grado di salvare i grafici di Matplotlib e aggiungerli direttamente come grafica vettoriale nei documenti di Microsoft Word. Tuttavia, l'unico formato supportato da Word e Matplotlib è entrambi .eps e il testo degli assi è completamente mancante in Word se provo. Ti faccio vedere:Conversione di testo in Matplotlib durante l'esportazione di file .eps
Ecco uno script minimo esempio di lavoro:
import matplotlib.pyplot as plt
import numpy as np
axes = plt.gca()
data = np.random.random((2, 100))
axes.plot(data[0, :], data[1, :])
- Here's the image I get se risparmio il plot come .png usando barra degli strumenti della figura
- Here's the image I get se risparmio il plot come. eps e inserirlo in Word.
Apparentemente, il modo in cui Matplotlib salva il testo nei file .eps non è compatibile con il modo in cui Word legge il testo dai file .eps. I file .eps esportati hanno un bell'aspetto in PS_View.
Mi vengono in mente due soluzioni, ma non so come implementare loro o se è a tutto il possibile in Matplotlib:
- vectorise il testo in modo che sia incorporato come percorsi. Questo è supportato dal backend SVG di Matplotlib impostando rcParam 'svg.fonttype' su 'path', ma non sembra supportato direttamente dal backend di ps. Questa sarebbe la soluzione ideale. C'è un modo per fare questo?
- Rasterise solo il testo quando si esporta come .eps. Questa sarebbe una soluzione alternativa meno ideale. Può essere fatto?
Ho appena provato a incorporare un file '.eps' nell'ultimo Microsoft Word (2016) su Mac e ora sembra che il testo sia visualizzato correttamente. – mfitzp
Grazie per il test, @mfitzp! Da quando ho postato questa domanda la mia azienda è passata da Word 2010 a Word 2013. Ho deciso di riprovare, ma il problema rimane ancora qui. O il problema è stato corretto in Word 2016, o la versione Mac di Word è semplicemente migliore. Tuttavia, le mie domande sulle soluzioni alternative (domande che non sono specifiche della piattaforma) rimangono valide. –
Posso confermare che non funziona su Word 2013 su Windows almeno (non posso testare il 2016 purtroppo). – mfitzp