在相同的数字中的几个等高线图

时间:2013-05-25 15:04:03

标签: python matplotlib

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

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

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

1 个答案:

答案 0 :(得分:3)

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

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()