Matplotlib Python子地块3d曲面和热量贴图
我计划在Matplotlib Python子地块3d曲面和热量贴图,matplotlib,figure,subplot,Matplotlib,Figure,Subplot,我计划在matplotlib中创建一个地物,左侧为3D曲面,右侧为相应的等高线图 我使用了子图,但它只显示等高线图(曲面为空白),曲面为单独的图形 可以在一个图形中并排创建这些绘图吗 编辑:代码如下: import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import axes3d import numpy as np x = np.arange(-5, 5, 0.25) y = np.arange(-5, 5, 0.25) x,
matplotlib
中创建一个地物,左侧为3D曲面,右侧为相应的等高线图
我使用了子图
,但它只显示等高线图(曲面为空白),曲面为单独的图形
可以在一个图形中并排创建这些绘图吗
编辑:代码如下:
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
import numpy as np
x = np.arange(-5, 5, 0.25)
y = np.arange(-5, 5, 0.25)
x, y = np.meshgrid(x, y)
r = np.sqrt(x**2 + y**2)
z = np.sin(r)
fig, (surf, cmap) = plt.subplots(1, 2)
fig = plt.figure()
surf = fig.gca(projection='3d')
surf.plot_surface(x,y,z)
cmap.contourf(x,y,z,25)
plt.show()
我想使用plt.subplot()
来创建具有不同投影的绘图网格
因此,最直接的解决方案是使用plt.subplot
分别创建每个子地块
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
import numpy as np
x = np.arange(-5, 5, 0.25)
y = np.arange(-5, 5, 0.25)
x, y = np.meshgrid(x, y)
r = np.sqrt(x**2 + y**2)
z = np.sin(r)
ax = plt.subplot(121, projection='3d')
ax.plot_surface(x,y,z)
ax2 = plt.subplot(122)
ax2.contourf(x,y,z,25)
plt.show()
当然,您也可以将这些功能用于更复杂的网格结构。您能展示一下您目前如何进行这项工作的代码吗?是的,但展示所需的输出这是一个关于这方面的例子。如果您在实施过程中遇到问题,请参阅。