Bu sorun için kirli bir "düzeltme" kullanıyorum. Ben sadece komployu iki kere üretiyorum. Tüm çerçeveler, başlıklar, vb. Kaldırıldıktan sonra png olarak kaydedilir ve diğer durumda, gerçek verileri çıkarırım ve vektör verileri olarak istediğim tüm bileşenleri bir pdf'ye kaydediyorum. Sonra png'yi bitmap verileri içeren pdf'ye dönüştürmek ve pdftk'yi kullanarak vektör verilerini pdf'den görüntülemek için ImageMagick'i kullanıyorum. Burada, tarif ettiğim şekilde uyarlanmış matplotlib sayfasından pcolor örneği var.
import matplotlib.pyplot as plt
import numpy as np
import os
for case in ['frame','data']:
# make these smaller to increase the resolution
dx, dy = 0.02, 0.02
# generate 2 2d grids for the x & y bounds
y, x = np.mgrid[slice(-3, 3 + dy, dy),
slice(-3, 3 + dx, dx)]
z = (1 - x/2. + x ** 5 + y ** 3) * np.exp(-x ** 2 - y ** 2)
# x and y are bounds, so z should be the value *inside* those bounds.
# Therefore, remove the last value from the z array.
z = z[:-1, :-1]
z_min, z_max = -np.abs(z).max(), np.abs(z).max()
fig=plt.figure()
ax=fig.add_subplot(1,1,1)
im=plt.pcolor(x, y, z, cmap='RdBu', vmin=z_min, vmax=z_max)
plt.title('pcolor')
# set the limits of the plot to the limits of the data
plt.axis([x.min(), x.max(), y.min(), y.max()])
if case is 'frame':
im.remove()
plt.savefig("frame.pdf",transparent=True)
if case is 'data':
ax.axison=False
plt.title('')
plt.savefig("data.png",transparent=True)
os.system('convert data.png data.pdf')
os.system('pdftk frame.pdf background data.pdf output final_plot.pdf')
os.system('rm data.png data.pdf frame.pdf')
Temelde bir son (devam ediyor?) Matplotlib anketin detaylı açıklamalar okumak, zaten ne yaptığını sadece otomatize bir versiyonu ...
, bir başka kişi bu aynı istekte bulundu. https://docs.google.com/spreadsheet/ccc?key=0AjrPjlTMRTwTdHpQS25pcTZIRWdqX0pNckNSU01sMHc&usp=sharing – esmit