23

sharex使用 matplotlib,设置或sharey轴参数的唯一时间似乎是在 sub_plot 创建期间( add_subplot()、、、subplot()subplots()。对于一个axes类,有获取轴共享的方法(get_shared_x_axes(), get_shared_y_axes()),但没有相应的设置共享的方法。也许这是一个 API 疏忽,或者它不适合架构。

有没有办法改变共享轴参数?

对于那些问为什么的人:我正在动态使用绘图矩阵,并且可以使用视图限制来控制它,但似乎有一种更简单的方法,打开/关闭共享和使用自动缩放就可以了。

谢谢。

4

3 回答 3

21

顺便提一下,现在确实存在一种在创建轴后共享轴的方法。对于两个轴ax1ax2您可以使用

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

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

于 2017-03-23T11:46:42.743 回答
5

答案是共享轴的设置方式是共享两个轴的一些内部状态。正确处理有点棘手,并且库中尚不存在即时执行此操作(链接和取消链接)的代码。

有关取消链接轴的正在进行的工作,请参阅此PR 。帮助测试和开发此功能将不胜感激。

于 2013-06-26T20:57:07.460 回答
2

v3.3开始,存在新的Axes.sharex,Axes.sharey方法:

ax1.sharex(ax2)
ax1.sharey(ax3)
于 2021-03-24T20:43:12.553 回答