Python Subplot 3d Surface和Heat Map

时间:2017-09-13 11:37:12

标签: matplotlib figure subplot

我打算在{{#each fileData as |data|}} {{#each columns as |name|}} <td>{{get data name}}</td> {{/each}} {{/each}} 中创建一个图形,左边是3D表面,右边是相应的等高线图。

我使用matplotlib但它只显示等高线图(表面有空白),以及表面的单独图形。

是否可以在一个图中并排创建这些图?

编辑:代码如下:

subplots

1 个答案:

答案 0 :(得分:1)

我想it's hard使用plt.subplots()来创建具有不同投影的地块网格。

因此,最直接的解决方案是使用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()

当然,人们也可以将gridspec功能用于更复杂的网格结构。