当然,您可以互斥地屏蔽两个轮廓。
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
x = np.arange(-3.0, 3.0, 0.1)
y = np.arange(-2.0, 2.0, 0.1)
X, Y = np.meshgrid(x, y)
Z = np.zeros((len(y), len(x), 2))
Z[:,:,0] = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)
Z[:,:,1] = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1)
mask = Z[:,:,0] > Z[:,:,1]
plt.figure()
plt.contourf(X, Y, np.ma.array(Z[:,:,0], mask=~mask), cmap='Reds',
alpha=0.6)
plt.contourf(X, Y, np.ma.array(Z[:,:,1], mask=mask), cmap='Blues',
alpha=0.6)
plt.show()