Matplotlib设置共享轴

24
使用matplotlib时,似乎只有在创建子图时(add_subplot(),subplot(),subplots())才能设置sharex或sharey轴参数。对于axes类,有用于获取轴共享的方法(get_shared_x_axes(),get_shared_y_axes()),但没有相应的用于设置共享的方法。也许这是API的疏忽,或者它在架构上不适合。
有没有办法更改共享轴参数?
对于那些问为什么的人:我正在动态使用绘图矩阵,并且可以使用视图限制来控制它,但似乎应该有一种更简单的方法,打开/关闭共享并使用自动缩放就是其中之一。
谢谢。
3个回答

25

需要提到的是,现在已经存在一种在创建后共享轴的方法。对于两个轴ax1ax2,您可以使用以下代码:

ax2 = ax1.twinx()

ax1.get_shared_x_axes().join(ax1, ax2)

请参阅如何在创建后共享两个子图的x轴?


7

v3.3 开始新增了 Axes.sharex, Axes.sharey 方法:

ax1.sharex(ax2)
ax1.sharey(ax3)

5
答案是,共享轴的设置方式是共享两个轴的一些内部状态。这有点棘手,而且目前库中没有实时执行它(链接和取消链接)的代码。请参见PR,了解正在进行的取消链接轴的工作。欢迎帮助测试和开发此功能。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接