Von matplotlib generierte PDF-Dateien können nicht im Acrobat Reader angezeigt werden
Ich zeichne Daten mit matplotlib einschließlich LaTeX-Schriftarten. Das erstellte PDF kann von evince, inkscape, GIMP aber nicht von acroread bzw. acroread angezeigt werden. Adobe Reader. Der Code-Prototyp arbeitet mit vielen Zahlen, und nur wenige Diagramme weisen dieses Problem auf.
...
fig = plt.figure(figsize=(10, 6))
ax = fig.add_subplot(111)
savedpi = 250
fileformat = 'pdf'
...
p12,=ax.plot(plimit12-binSize/2.0, mean12, '-', lw=2)
ax.set_yscale('log')
ax.yaxis.set_major_formatter(matplotlib.ticker.ScalarFormatter())
ax.legend([p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12], [ "C01", "C02", "C03", "C04", "C05", "C06", "C07", "C08", "C09", "C10", "C11", "C12"],numpoints=1, loc=1, ncol=3)
plt.savefig(savepath+'veloDisp'+'.pdf',dpi=None,format=fileformat)
Eine dieser problematischen Dateien ist an zu fountenhttp://ubuntuone.com/0kuZIKYeZQyGckE5jonPy6
Ist jemand auf ein solches Problem gestoßen?
BEARBEITEN: Vielen Dank, William Denman. Das Öffnen in Evince und das Drucken in PDF-Dateien ist jetzt auch in Acroread möglich. Interessanterweise funktionieren andere Plots mit LaTeX-Schriftarten von Anfang an. Ich bekomme keine Fehlermeldungen, aus denen ich ableiten könnte, wo das Problem liegt, deshalb habe ich hier an erster Stelle gefragt. Im Moment ist Ihre Problemumgehung in Ordnung, danke. Allerdings würde ich wirklich gerne wissen, wie dies generell vermieden werden kann. Da diese Handlungen Teil einer Veröffentlichung sein sollten, muss ich auch an die Personen denken, die Adobe PDF-Viewer verwenden.
BEARBEITEN: Wie vorgeschlagen, habe ich einen Thread in der Mailingliste der MPL-Entwickler geöffnet, siehehttp://matplotlib.1069221.n5.nabble.com/PDF-not-readable-by-Adobe-PDF-readers-td42580.html
EDIT: Gelöst von Matplotlib-Entwicklern! Das Problem war die Leitung
ax.axvline(x=1, c='#000000', lw='2', alpha=0.5)
welches eine Zeichenkette als Linienbreite enthält. Sollte sein
ax.axvline(x=1, c='#000000', lw=2, alpha=0.5)
Leider warnt das Standard-PDF-Backend (noch) nicht davor.