我正在绘制一些积雨的地图,但它们有不同的色标,我无法比较显示的地图。有一些方法可以获得具有相同色阶的地图。以下是我的代码。
# VERIFICATION DE LA CARTE S/N
# convolution_X and convolution_mask_X are arrays
import numpy as np
import random
convolution_locale = np.array([[random.random() for _ in range(100)] for _ in range(100)])
convolution_grande = np.array([[random.random() for _ in range(100)] for _ in range(100)])
plt.subplot(1,3,1)
step1 = convolution_locale #- convolution_mask_locale # uncomment to use your data
fig_step1 = plt.imshow(step1, interpolation='nearest')
plt.colorbar()
plt.xlabel("X (arcmin)")
plt.ylabel("Y (arcmin)")
plt.show()
plt.subplot(1,3,2)
step2 = convolution_grande #- convolution_mask_grande # uncomment to use your data
fig_step2 = plt.imshow(step2, interpolation='nearest')
plt.colorbar()
plt.xlabel("X (arcmin)")
plt.ylabel("Y (arcmin)")
plt.subplot(1,3,3)
S_N_map = step1 - step2
fig_S_N_map = plt.imshow(S_N_map, interpolation='nearest')
plt.colorbar()
plt.xlabel("X (arcmin)")
plt.ylabel("Y (arcmin)")
plt.savefig(outname10)
答案 0 :(得分:2)
您应该指定要绘制的轮廓,而不是简单地说您想要35
个轮廓。例如:
m.contourf(x, y, map, np.linspace(5, 10, 35), extend='both',
cmap=pl.cm.jet_r, animated=True)
这指定您需要5到10之间的35个等高线。extend='both'
kwarg表示高于/低于5/10的数据应使用顶部/底部颜色着色。这将为你的颜色条添加“尖端”,有些人不喜欢,但其他人觉得更明确。有关详细信息,请查看my answer至this question。