2

統計的に有意な結果が得られた領域だけをハッチしようとします。どのように私はBasemapとpcolormeshを使ってこれを行うことができますか?ベースマップのpcolormeshを使用したハッチ領域

plt.figure(figsize=(12,12)) 

lons = iris_cube.coord('longitude').points 
lats = iris_cube.coord('latitude').points 

m = Basemap(llcrnrlon=lons[0], llcrnrlat=lats[0], urcrnrlon=lons[-1], urcrnrlat=lats[-1], resolution='l') 

lon, lat = np.meshgrid(lons, lats) 

plt.subplot(111) 

cs = m.pcolormesh(lon, lat, significant_data, cmap=cmap, norm=norm, hatch='/') 

答えて

0

https://github.com/matplotlib/matplotlib/issues/3058を参照)孵化をサポートしていませんpcolormeshようです。その代わりに、アドバイスは、マスクアレイは0.3よりも大きいZの値を取得するために使用され、これらはpcolorを使用してハッチングさthis例から出発するようになりpcolor

import matplotlib.pyplot as plt 
import numpy as np 

dx, dy = 0.15, 0.05 
y, x = np.mgrid[slice(-3, 3 + dy, dy), 
       slice(-3, 3 + dx, dx)] 
z = (1 - x/2. + x ** 5 + y ** 3) * np.exp(-x ** 2 - y ** 2) 
z = z[:-1, :-1] 
zm = np.ma.masked_less(z, 0.3) 

cm = plt.pcolormesh(x, y, z) 
plt.pcolor(x, y, zm, hatch='/', alpha=0.) 
plt.colorbar(cm) 
plt.show() 

を使用することです。

enter image description here

私はハックのようなビットを感じたpcolorに0にアルファを設定している(あなたが唯一の孵化取得)トップの上に別の色をプロット避けるために。代わりに、パッチを使用して、必要な領域に割り当てることです。この例のPython: Leave Numpy NaN values from matplotlib heatmap and its legendを参照してください。 pcolorの領域を選択するだけではなく、ベースマップなどではこれが難しいかもしれません。