当在底图投影(或cartopy投影)上使用pcolormesh打印数据时,我注意到当我将alpha值设置为小于1时,会出现奇怪的线。你知道吗
示例代码:
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()
输出显示奇怪的线条:
如果我改为设置alpha=1,则线条将消失,行为与预期一样:
关于如何让pcolormesh使用非零alpha值有什么想法吗?你知道吗
因为它是一个全局地图,所以我使用imshow来代替pcolor或pcolormesh:
但是,色条仍然存在问题。你知道吗
使用
pcolor
而不是pcolormesh
,虽然有点慢,但处理光栅化输出的效果更好。一定要设置snap = True
,这将使网格与像素对齐。你知道吗示例
这也应该适用于^{} 。你知道吗
colorbar中的行是由open issue #1188引起的,据我所知,没有一种解决方法不涉及手动创建colorbar。你知道吗
相关问题 更多 >
编程相关推荐