2

통계적으로 유의미한 결과가있는 영역 만 부화시킵니다. 어떻게하면베이스 맵과 pcolormesh를 사용하여이 작업을 수행 할 수 있습니까?Baselap의 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

상단 I 해킹처럼 조금 느낌 pcolor에서 0으로 알파를 설정 한 (그래서 당신은 부화 취득)를 통해 다른 색상을하려하지 않도록합니다. 대안은 패치를 사용하여 원하는 영역에 할당하는 것입니다. 이 예제 Python: Leave Numpy NaN values from matplotlib heatmap and its legend을 참조하십시오. pcolor으로 영역을 선택하는 것보다 기본지도 등이 더 까다로운 수 있습니다.