W python's matplotlib.fill_between
poniższy przykład wykonania poniżej prawidłowo rysuje na ekranie i na .png
. W wynikowym .pdf
linie krawędzi są jednak nadal rysowane. Jak mogę to naprawić?Dlaczego matplotlib fill_between draw edgelines tylko w pliku 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!
wynik PNG
wynik PDF
Chociaż wydaje się banalne, staje niezwykle problematyczne, gdy stos 200 fill_between
działek, wszystko widać jest brzydkim bałaganem czerni!