在 matplotlib 中仅为部分子图共享轴

新手上路,请多包涵

我有一个很大的情节,我从这里开始:

 import numpy as np
import matplotlib.pyplot as plt

fig, axs = plt.subplots(5, 4)

我想在第 1 列和第 2 列之间做 share-x-axis;并在第 3 列和第 4 列之间执行相同的操作。但是,第 1 列和第 2 列与第 3 列和第 4 列不共享同一轴。

我想知道无论如何都会这样做,而不是 sharex=Truesharey=True 所有数字?

PS: 本教程 没有太大帮助,因为它只是关于在每一行/列内共享 x/y;他们不能在不同的行/列之间进行轴共享(除非在所有轴上共享它们)。

原文由 Yuxiang Wang 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 453
1 个回答

我不确定你想从你的问题中得到什么。但是,您可以为每个子图指定在向图中添加子图时应与哪个子图共享哪个轴。

这可以通过以下方式完成:

 import matplotlib.pylab as plt

fig = plt.figure()

ax1 = fig.add_subplot(5, 4, 1)
ax2 = fig.add_subplot(5, 4, 2, sharex = ax1)
ax3 = fig.add_subplot(5, 4, 3, sharex = ax1, sharey = ax1)

原文由 The Dude 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题