Matplotlib:创建一个与父轴具有不同脊柱的zoomed_inset_axis



我有一个带有zoomed_inset_axis对象的图,如 https://matplotlib.org/3.1.1/_images/sphx_glr_inset_locator_demo2_001.png

现在,我希望我的父轴对象以某种方式去旋转,因此右脊柱不可见。但是,如果我这样做,我的放大插图也会以同样的方式去掉,这是我不想要的。我认为发生这种情况是因为它将轴对象作为父对象。

有什么办法可以改变这一点吗?基本上,我想要一个被"正常"框包围的父对象和一个放大的插图。

我尝试了seabon.despine(fig=fig, ax=ax),但这也破坏了我的放大对象。 我也尝试了ax.spines['right'].set_visible=False,但这也使我的缩放对象变

fig, ax = plt.subplots(1,1)
axins = zoomed_inset_axes(ax, 7, loc=4)
seaborn.despine(fig=fig,ax=ax, offset=10)

以下两个都按预期工作:

西伯恩的德斯皮恩

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes
import seaborn as sns
fig, ax = plt.subplots(1,1)
axins = zoomed_inset_axes(ax, .5, loc=4)
sns.despine(ax=ax, offset=10)
plt.show()

Matplotlib的脊柱可见性

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes
fig, ax = plt.subplots(1,1)
axins = zoomed_inset_axes(ax, .5, loc=4)
ax.spines['right'].set_visible(False)
plt.show()

最新更新