2
我正在尝试创建3D数据投影的2D图。很简单,基于this example,是否有一种方法可以将所示的三个轮廓投影(X,Y和Z方向)作为单独的2D图形生成?我可以通过使用pyplot'contour'命令轻松地在Z方向上创建轮廓投影,但只有'3d'投影'contour'命令似乎能够采用'zdir'参数,并且它不能创建2D地块。Matplotlib分离3D数据的2D轮廓投影图
我正在尝试创建3D数据投影的2D图。很简单,基于this example,是否有一种方法可以将所示的三个轮廓投影(X,Y和Z方向)作为单独的2D图形生成?我可以通过使用pyplot'contour'命令轻松地在Z方向上创建轮廓投影,但只有'3d'投影'contour'命令似乎能够采用'zdir'参数,并且它不能创建2D地块。Matplotlib分离3D数据的2D轮廓投影图
3D轮廓中的zdir
参数基本上说明哪个轴将用于确定3D绘图中的轮廓等级。在二维图中,这通常由参数的顺序来指定,所以我们通常认为是“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的参数,所以请参阅文档以获取更多细节,尽管这种方法通常会在y使用X,Y和Z明确的调用。
是的,这使得总体感和不知道为什么我没有意识到 - 只是交换方向。谢谢! – GafferMan2112