In Python matplotlib.fill_between
, il seguente esempio di lavoro di seguito riportato viene disegnato correttamente sullo schermo e su .png
. Nel risultato .pdf
tuttavia, le linee di bordo sono ancora disegnate. Come posso risolvere questo?Perché matplotlib fill_between disegna solo edgelines su un PDF?
from numpy import *
import pylab as plt
# Sample data
X = linspace(0,2*pi,1000)
Y0 = sin(X)
Y1 = sin(X+.2)
Y2 = sin(X+.4)
# fill_kwargs (what am I missing?)
fbk = {'lw':0.0, 'edgecolor':None}
ax = plt.subplot(111)
ax.fill_between(X, 0, Y0 , facecolor = 'b', **fbk)
ax.fill_between(X, Y0, Y1, facecolor = 'g', **fbk)
ax.fill_between(X, Y1, Y2, facecolor = 'r', **fbk)
plt.xlim(pi-.8,pi+.5)
plt.ylim(-.5,.5)
plt.savefig('fA.png') # No edge lines
plt.savefig('fA.pdf') # Edge lines!
risultato PNG
risultato PDF
Mentre sembra banale, diventa estremamente problematico quando si pila 200 fill_between
trame, tutto quello che vedi è un brutto pasticcio di nero!