小编典典

如何使用Matplotlib启用/禁用轻松共享的轴

python

在从tcaswell以前的答案如何为地块不属于同一人物创建共享轴是完美的:)但现在我不知道如何禁用共享轴和重新启用它们,而不必重新绘制或破坏任何东西?(我有多个图形,我想添加一个按钮,用户可以单击该按钮以禁用/启用那些共享轴),我找到了一种方法:

import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(111)
fig2 = plt.figure()
ax2 = fig2.add_subplot(111, sharex=ax1)

创建共享轴,然后

fig2.delaxes(ax2)
ax2 = fig2.add_subplot(111)

但这需要重绘所有内容,可能需要一些时间。我没有找到禁用链接的简单功能。有比我更轻松的方法吗?

谢谢 !


阅读 250

收藏
2021-01-20

共1个答案

小编典典

目前尚没有简便的方法可以做到这一点,但是我认为 可以
做到(这只需要深入研究matplotlib内部原理)。轴在下面的链接方式是简单地使用相同的locator和formatter对象axis。要链接/取消链接,您将必须复制/新建所有这些对象,以及更新一些辅助结构(_shared_x_axes_shared_y_axes)。查看的实现,matplotlib.axes.Axes.cla()以了解您需要做什么。

有一个针对仓库的请求请求,该请求添加了此功能和相关的功能请求。如果您愿意(a)从源代码进行安装b)使用master(主机)和c)应用此修补程序,我认为开发人员希望您对此进行测试。

2021-01-20