在python中使用mplot3d绘制透明的平面
我想显示3d绘图数据之间的分隔。就像在Z=100曲面的顶部和底部之间划分它们一样 这是我的代码: x、 y,t是点列表,显示时间t时对象的x,y坐标 cor_x=np.poly1dnp.polyfitt,x,5 cor_y=np.poly1dnp.polyfitt,y,5 ax=plt.ax投影=3d ax.plot3Dcor\u xt,cor\u yt,t 节目在python中使用mplot3d绘制透明的平面,python,numpy,matplotlib,Python,Numpy,Matplotlib,我想显示3d绘图数据之间的分隔。就像在Z=100曲面的顶部和底部之间划分它们一样 这是我的代码: x、 y,t是点列表,显示时间t时对象的x,y坐标 cor_x=np.poly1dnp.polyfitt,x,5 cor_y=np.poly1dnp.polyfitt,y,5 ax=plt.ax投影=3d ax.plot3Dcor\u xt,cor\u yt,t 节目 我只需要一个透明的z=100曲面。如果要绘制曲面,请使用ax.plot\u surfaceX,Y,z。其中X,Y是使用np.mesh
我只需要一个透明的z=100曲面。如果要绘制曲面,请使用ax.plot\u surfaceX,Y,z。其中X,Y是使用np.meshgrid创建的二维网格,z是同一网格上的数据。通过获取数据,乘以0,再加上100,可以生成z=100的曲面 可以使用alpha更改透明度。请注意,越透明,越难看出哪种方法可能不是分离数据的最佳方法 这里有一个例子
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
def f(x, y):
return x**2 + y**2
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x = y = np.arange(-10.0, 10.0, .1)
X, Y = np.meshgrid(x, y)
Z = f(X,Y)
ax.plot_surface(X, Y, Z,color='gray',alpha=.8)
#To plot the surface at 100, use your same grid but make all your numbers zero
Z2 = Z*0.+100
ax.plot_surface(X, Y, Z2,color='r',alpha=.3) #plot the surface
plt.show()