Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中一个三维图形中的多个二维等高线图_Python_3d_Contour - Fatal编程技术网

python中一个三维图形中的多个二维等高线图

python中一个三维图形中的多个二维等高线图,python,3d,contour,Python,3d,Contour,python中是否有任何方法可以在python中的一个3D绘图中绘制多个2D等高线绘图。我目前正在使用matplotlib进行轮廓绘制,但没有找到任何选项来进行搜索。我添加了一个示例图像。但我想在Z轴上做 你可以试试这个 from mpl_toolkits.mplot3d import Axes3D import numpy as np import matplotlib.pyplot as plt from matplotlib.path import Path import matplotl

python中是否有任何方法可以在python中的一个3D绘图中绘制多个2D等高线绘图。我目前正在使用matplotlib进行轮廓绘制,但没有找到任何选项来进行搜索。我添加了一个示例图像。但我想在Z轴上做

你可以试试这个

from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.path import Path
import matplotlib.patches as patches

fig    = plt.figure()
ax     = fig.gca(projection='3d')

x      = np.linspace(0, 1, 100)
X, Y   = np.meshgrid(x, x)
levels = np.linspace(-0.1, 0.4, 100)  #(z_min,z_max,number of contour),

a=0
b=1
c=2
Z1 = a+.1*np.sin(2*X)*np.sin(4*Y)
Z2 = b+.1*np.sin(3*X)*np.sin(4*Y)
Z3 = c+.1*np.sin(4*X)*np.sin(5*Y)

plt.contourf(X, Y,Z1, levels=a+levels,cmap=plt.get_cmap('rainbow'))
plt.contourf(X, Y,Z2, levels=b+levels,cmap=plt.get_cmap('rainbow'))
plt.contourf(X, Y,Z3, levels=c+levels,cmap=plt.get_cmap('rainbow'))

ax.set_xlim3d(0, 1)
ax.set_ylim3d(0, 1)
ax.set_zlim3d(0, 2)

plt.show()

或者,您可以访问