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

Python 同一图形中的几个等高线图,python,matplotlib,Python,Matplotlib,我有几个3d功能。我想在同一个图形中绘制两个等高线图,以查看它们之间的差异。我希望看到两个函数的轮廓之间有一些交叉。这是我的密码: plt.contour(xi, yi, F) plt.contour(xi, yi, F1) plt.show() 但是,第一个似乎在最后被删除了,因为我只看到一个函数,没有任何轮廓交叉。我做了一个快速的测试,我看到了两个轮廓。他们使用普通颜色的事实可能会产生误导。试试这个: plt.contour(xi, yi, F, colors='red')

我有几个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()

plt
是一个类吗?
contour()
方法做什么?回归自我?或者将数据添加到plt中的列表?好问题。plt是从matplotlib.pyplot导入的,我认为它可以返回一些值。我在例子中看到了这一点。我不知道,实际上我对mathplotlib不熟悉,但我的猜测是,首先你必须创建一个实例:
p_instance=plt()
,然后在这个实例上调用方法:
p_instance.contour(xi,yi,F)
,最后调用show:
p_instance.show()
plt是导入matplotlib.pyplot的常用方法。所以它是一个模块,在导入时实例化。我会尝试,但是,独立于颜色,在我的例子中应该有轮廓的交叉,我在倍频程中看到。我添加了一个示例脚本,以便您自己检查。是的,这很有效。非常感谢。你的回答帮助我认识到我忘记更改其中一个函数,所以我使用了两个等效函数。