x = np.linspace(-150, 150, 300)
y = np.linspace(-150, 150, 300)
X, Y = np.meshgrid(x, y)
data = np.exp(-(X / 80.0) ** 2 - (Y / 80.0) ** 2)
R = np.sqrt(X ** 2 + Y ** 2)
flag = np.logical_not((R < 110) * (R > 10))
data[flag] = np.nan
palette = plt.cm.jet
palette.set_bad(alpha=0.0)
im = plt.imshow(data)
plt.colorbar(im)
plt.savefig(__file__ + '.png')
plt.show()
Триконтурный участок с отверстием посередине.