我有一个大的阴谋,我开始与:
import numpy as np
import matplotlib.pyplot as plt
fig, axs = plt.subplots(5, 4)
我想在第一列和第二列之间做共享X轴并且在列3和列4之间执行相同的操作。但是,列1和列2与列3和列4不共享同一轴。
我想知道,会有无论如何这样做,而不是sharex=True
和sharey=True
在所有的数字?
PS:This tutorial并没有太大的帮助,因为它只是关于在每一行/列内共享x/y;它们不能在不同行/列之间共享轴(除非在所有轴之间共享它们)。
4条答案
按热度按时间rur96b6h1#
我不太清楚你的问题到底是什么意思。不过,你可以为每个子图指定一个坐标轴,当你在图形中添加子图时,它应该与哪个子图共享。
这可以通过以下方式实现:
希望能有所帮助
lh80um4z2#
对于子区,有一个稍微受限但简单得多的选项可用。该限制适用于子区的完整行或列。例如,如果希望在3x2子区中,所有子区都有公共y轴,而单个列只有公共x轴,则可以将其指定为:
t3irkdon3#
可以使用
Grouper
对象手动管理轴共享,该对象可以通过ax._shared_x_axes
和ax._shared_y_axes
访问。要以分组方式调整子图之间的间距,请参阅this question。
d5vmydt94#
我在类似的设置中使用了Axes.sharex /sharey
https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.sharex.html#matplotlib.axes.Axes.sharex