【问题标题】:Python Numpy add hspace between 3D plot and 2D plot with shared axesPython Numpy 在 3D 绘图和 2D 绘图之间使用共享轴添加 hspace
【发布时间】:2015-08-16 20:28:03
【问题描述】:

附件是显示当前绘图的图像。我正在为 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)

【问题讨论】:

  • 你能多展示一些你的代码来提供一些上下文吗?理想情况下 - 我们可以剪切和粘贴并运行的东西,带有一些示例数据。

标签: python numpy matplotlib plot


【解决方案1】:

在这种情况下,最好使用两个单独的 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()

【讨论】:

    猜你喜欢
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    • 2017-05-27
    • 2015-04-16
    • 1970-01-01
    • 2016-06-06
    • 2020-09-25
    • 2021-05-05
    相关资源
    最近更新 更多