Gibt es eine Möglichkeit, PIL mit matplotlib zu verwenden, um Logos in EPS oder SVG (oder einem skalierbaren Vektorformat) zu platzieren, um das Logo auf dem Diagramm zu platzieren und die endgültige Datei als EPS auszugeben. Jetzt bekomme ich eine schrecklich gerenderte Grafik, weil es eine .png
Datei gibt, die versucht, in das EPS-Format konvertiert zu werden, wo das Ziel darin besteht, das Bild als .eps
oder .svg
zu speichern.Matplotlib imshow mit EPS
Ich denke, das kann eine Einschränkung aufgrund der Backend sein, ich bin offen für die Änderung, die ich benutze.
Dies ist, was nicht funktioniert:
ax1.set_axis_bgcolor('#fafafa')
img = image.imread('./static/images/logo.png')
image_axis = fig.add_axes(ax1.get_position())
image_axis.patch.set_visible(False)
image_axis.yaxis.set_visible(False)
image_axis.xaxis.set_visible(False)
image_axis.set_xlim(0,19.995)
image_axis.set_ylim(0,11.25)
image_axis.imshow(img, extent=(11.79705,18.99525,.238125,1.313625), zorder=-1, alpha=0.15) #need to keep a 5.023 x by y ratio (.4 x .079)
fig.savefig('static/images/graphs/'+filename+'.eps', format='eps', bbox_inches='tight')
keine Updates?
Haben Sie es gerade versucht? [Die Dokumente] (http://matplotlib.org/1.3.1/users/image_tutorial.html#importing-image-data-into-numpy-arrays) implizieren, dass, wenn das an "imshow" übergebene Bild nicht-png ist, Matplotlib wird auf PIL zurückgreifen, das mit eps umgehen kann ([docs] (http://pillow.readthedocs.org/en/latest/handbook/image-file-formats.html#eps)). Ich habe keine EPS-Dateien zur Hand, aber könnte morgen versuchen, möglicherweise. –