Jar*_*red 10 python svg matplotlib eps
有没有办法使用PIL和matplotlib放置EPS或SVG(或任何可缩放矢量格式)的徽标,以便将徽标放在图表上并将最终文件输出为EPS.现在我得到一个非常渲染的图形,因为有一个.png
文件试图转换为EPS格式,其目标是将图像保存为.eps
或.svg
.
我认为这可能是由于后端的限制,我愿意改变我使用的那个.
这是行不通的:
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')
Run Code Online (Sandbox Code Playgroud)
任何更新?
在这种情况下,我通常会使用以下方法获得更好的渲染效果:
from PIL import Image
logo = Image.open('icons\logo.png')
# TODO define bbox as a matplotlib.transforms.Bbox
image_axis.imshow(logo, clip_box=bbox, aspect='equal',
origin='lower', interpolation='nearest')
Run Code Online (Sandbox Code Playgroud)
(Matplotlib 1.4.2,如果您使用旧版本,使用interpolation
和origin
选项可能会有所帮助)