Firstly, I want to thank Marius (Marius 't Hart-3) and Eric (efiring) for the help on my question. Especially Eric, your advices about 'antialiased' gave me the hint to get the solution.
In my previous topic " http://old.nabble.com/contourf-creats-white-like-lines-(or-gaps)-between-each-two-color-patches-tp27982822p28210898.html contourf creats white-like lines (or gaps) between each two color patches ", I attached two figures to show the bug-like problem of contourf plotting function. The first one is created by contourf only, and the in second one, I used contourf and contour together to fill up the gaps between each two patches. It seems a kind of solution to make the filled contour map better looking, but I really don't like this messy way. So I posted the questionhere to find answers. Following Eric's suggestion > CS = contourf(Z) > for c in CS.collections: > c.set_antialiased(False) the antialiased attributes of each polygon in the filled contour map is changed to be unsmoothed, and the gaps are gone. This is much better way to solve the gap problem, but I should do this every time after I plotting the filled contour map. It's not the best solution. 1. Basic solution I tried to study the arguments of contourf function to find the proper parameter about antiliased, and there is one in the doc string: ''' contourf-only keyword arguments: *antialiased*: [ True | False ] enable antialiasing ''' Good! Try this: CS = contourf(Z, antialiased=False) Oops~~~ nothing happens, gaps are still there. Why? Bug? I searched 'antialiased' in the contour.py(this file located in the installed matplotlib package directory), and find this: (line 604 through 607) col = collections.PolyCollection(nlist, antialiaseds = (self.antialiased,), edgecolors= 'none', alpha=self.alpha) I changed the line 605 antialiaseds = (self.antialiased,), to antialiaseds = self.antialiased, plotted the filled contourf map again: CS = contourf(Z, antialiased=False) Wow~~~ gaps free. I don't know if it is a bug or not, but edit it simply, works well. 2. Upgrade the solution Don't like the unsmoothed edge? Still want the antialiased to be True? OK, notice the line just under antialiaseds setting listed above? edgecolors='none', it means no edge is plotted. Go straight down to line 640: collection.set_facecolor(color) here the face colors are set. Just below this line, I added one new line: collection.set_edgecolor(color) then plotted the filled contourf map anain, without setting antialiased=False: CS = contourf(Z) Aha, Mission accomplished. -- View this message in context: http://old.nabble.com/Solution-of-my-previous-topic%3A-contourf-creats-white-like-lines-%28or-gaps%29-tp28219185p28219185.html Sent from the matplotlib - users mailing list archive at Nabble.com. ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users