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

6ioyuze2  于 2023-04-06  发布在  其他
关注(0)|答案(1)|浏览(187)

我正在尝试创建3D数据投影的2D图。非常简单,基于this example,是否有一种方法可以生成所示的三个等高线投影(在X、Y和Z方向)作为单独的2D图?我可以通过使用pyplot 'contour'命令轻松创建Z方向的轮廓投影,但是只有'3d' projection 'contour'命令似乎能够接受'zdir'参数,并且它不能创建2D绘图。

yrefmtwq

yrefmtwq1#

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

与3D图中的投影相比:

请注意,这里我提到了“第三个参数”,但实际上有很多方法可以解释contourf的参数,所以请参阅文档以了解更多细节,尽管这种方法通常只适用于X,Y和Z显式的调用。

相关问题