basemap icon indicating copy to clipboard operation
basemap copied to clipboard

Strange lines appear when using pcolormesh with nonzero alpha value

Open ricitron opened this issue 5 years ago • 2 comments

When plotting data using pcolormesh on a basemap projection (or a cartopy projection) I notice strange lines appear when I set the alpha value to less than 1.

Example code:

from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt

plt.clf()

dpp =1 # degrees per pixel
lons = np.arange(-180,180+dpp,dpp)
lats = -1*np.arange(-90,90+dpp,dpp)

m = Basemap(projection='robin',lon_0=0)
data = np.random.random((np.size(lats), np.size(lons)))
lons, lats = np.meshgrid(lons, lats)
x, y = m(lons, lats)

im = m.pcolormesh(x, y, x, latlon=False, cmap='RdBu')
#im = m.pcolormesh(lons, lats, data, latlon=True, cmap='RdBu')

m.colorbar(im)
plt.show()

The output shows strange lines appearing:

test1

If I instead set alpha=1 the lines disappear and the behavior is as expected:

test2

Any ideas on what the issue is or how to get pcolormesh to work with a nonzero alpha value?

ricitron avatar Dec 23 '19 18:12 ricitron

This is a known problem referenced in https://github.com/matplotlib/matplotlib/issues/1188 and, I think, more comprehensively in other old matplotlib issues that elude my quick attempt to search for them. We have found no general good solutions.

efiring avatar Dec 23 '19 21:12 efiring