Matplotlib分离3D数据的2D轮廓投影图

时间:2016-06-07 00:45:53

标签: python matplotlib contour

我正在尝试创建3D数据投影的2D图。很简单,基于this example,有没有办法将所示的三个轮廓投影(在X,Y和Z方向上)作为单独的2D图?通过使用pyplot'轮廓,可以轻松地在Z方向上创建轮廓投影。命令,但只有' 3d'投影'轮廓'命令似乎能够采取' zdir'参数,它不能创建2D图。

1 个答案:

答案 0 :(得分:3)

3D轮廓中的zdir参数基本上表示将使用哪个轴来确定3D绘图中的轮廓水平。在2D图中,这通常由参数的顺序指定,因此我们通常认为" Z",即确定轮廓水平的值,作为第三个参数。在下面的示例中,请特别注意每个contourf调用中的前三个参数:

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
from matplotlib import cm

X, Y, Z = axes3d.get_test_data(0.05)

plt.subplot(131)
cset = plt.contourf(X, Y, Z, cmap=cm.coolwarm)
plt.subplot(132)
cset = plt.contourf(Y, Z, X, cmap=cm.coolwarm)
plt.subplot(133)
cset = plt.contourf(X, Z, Y, cmap=cm.coolwarm)

plt.show()

enter image description here

与3D图中的投影相比:

enter image description here

请注意,我在这里引用了#34;第三个参数",但实际上有很多方法可以解释contourf的参数,所以请参阅文档以获取更多详细信息,尽管这样方法通常只适用于X,Y和Z显式的调用。