同一图形中的几个等高线图



我有几个3d函数。我想在同一个图中画出它们的等高线图,看看它们之间的区别。我希望在两个函数的轮廓之间看到一些交叉。下面是我的代码:

plt.contour(xi, yi, F)
plt.contour(xi, yi, F1)        
plt.show()

但是,似乎第一个在最后被擦掉了,因为我只看到一个函数,没有任何轮廓的交叉。有没有可能想办法解决这个问题?

我做了一个快速测试,我看到了两个轮廓。他们使用普通颜色的事实可能会产生误导。试试这个:

plt.contour(xi, yi, F, colors='red')
plt.contour(xi, yi, F1, colors='blue')
plt.show()

一个独立的例子:

import matplotlib.pyplot as plt
import numpy as np
X = np.linspace(0, 1, 10)
Y = np.linspace(0, 1, 10)
x,y = np.meshgrid(X,Y)
f1 = np.cos(x*y)
f2 = x-y
plt.contour(x,y,f2,colors='red')
plt.contour(x,y,f1,colors='blue')
plt.show()

最新更新