同一图中的几个等高线图

fre*_*ude 7 python matplotlib

我有几个 3d 功能。我想要两个在同一个图中绘制它们的等高线图以查看它们之间的差异。我希望在两个函数的轮廓之间看到一些交叉点。这是我的代码:

plt.contour(xi, yi, F)
plt.contour(xi, yi, F1)        
plt.show()
Run Code Online (Sandbox Code Playgroud)

但是,似乎第一个在最后被删除了,因为我只看到一个没有任何轮廓交叉的功能。有没有可能以某种方式解决这个问题?

deu*_*feu 9

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

plt.contour(xi, yi, F, colors='red')
plt.contour(xi, yi, F1, colors='blue')
plt.show()
Run Code Online (Sandbox Code Playgroud)

一个独立的例子:

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()
Run Code Online (Sandbox Code Playgroud)