Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Matplotlib Contourf Plots Unwanted Outlines when Alpha < 1

I am using matplotlib in Python 2.7 to plot a filled contour plot. I want to overlay this over an image, so I am using the alpha keyword to make the plot semi-transparent. When I do this, the body of the contours are the correct transparency, but contourf() plots unwanted lines on the boundaries between different levels. I have attempted to eliminate them with the keyword argument linecolor='none', but this has not helped.

Code:

CS = map.contourf(xi, yi, zi, 25, alpha=0.3, linecolor='none')

A link to an image example of the problem; I would like the filled contours to meet without the bright boundary lines:

Any help or insight into this problem is appreciated.

like image 401
user2130042 Avatar asked Dec 27 '22 08:12

user2130042


1 Answers

Try turn on antialiased=True:

x, y = np.mgrid[-1:1:100j, -1:1:100j]
contourf(x, y, x**2+y**2 + np.random.rand(100, 100)*0.1, 10, alpha=0.3, antialiased=True)

here is my result:

enter image description here

like image 170
HYRY Avatar answered Dec 28 '22 21:12

HYRY