Python Numpy在共享轴的3D绘图和2D绘图之间添加hspace

时间:2015-08-16 20:28:03

标签: python numpy matplotlib plot

附件是显示当前情节的图像。我正在为2D绘图设置fig.subplots_adjust(hspace=0)以共享一个共同的x轴。我想在3D和2d图之间添加空格,但由于hspace设置为0,我不太清楚如何实现这一点。

fig.subplots_adjust(hspace=0)
for ax in [px_t, py_t, pz_t]:
    plt.setp(ax.get_xticklabels(), visible=False)

enter image description here

1 个答案:

答案 0 :(得分:4)

在这种情况下,最好使用两个单独的GridSpec实例。这样,您可以有两个单独的hspace参数。或者,您可以手动放置顶部轴。

作为第一个选项的示例:

import matplotlib.pyplot as plt
from mpl_toolkits import mplot3d

fig = plt.figure(figsize=(8, 10))
gs1 = plt.GridSpec(2, 1, hspace=0.2)
gs2 = plt.GridSpec(8, 1, hspace=0)

ax1 = fig.add_subplot(gs1[0], projection='3d')
ax1.plot(range(10), range(10), range(10))

ax = fig.add_subplot(gs2[4])
lower_axes = [ax]
for i in range(4, 8):
    if i > 4:
        ax = fig.add_subplot(gs2[i], sharex=lower_axes[0])
    ax.plot(range(10))
    ax.locator_params(axis='y', nbins=5, prune='both')
    lower_axes.append(ax)

for ax in lower_axes:
    ax.label_outer()

plt.show()

enter image description here