AxesGrid 工具包提供了host_subplot
创建多个平行轴的功能,如下代码所示:
from mpl_toolkits.axes_grid1 import host_subplot
import mpl_toolkits.axisartist as AA
import matplotlib.pyplot as plt
host = host_subplot(111, axes_class=AA.Axes)
plt.subplots_adjust(bottom=0.15)
par2 = host.twiny()
par2.axis["bottom"] = par2.get_grid_helper().new_fixed_axis(loc="bottom", axes=par2, offset=(0, -30) )
par2.axis["bottom"].toggle(all=True)
现在我想更改图像下方添加的第二个 x 轴的标签。我尝试了以下(除其他外):
from mpl_toolkits.axes_grid1 import host_subplot
import mpl_toolkits.axisartist as AA
import matplotlib.pyplot as plt
host = host_subplot(111, axes_class=AA.Axes)
par2 = host.twiny()
par2.axis["bottom"] = par2.get_grid_helper().new_fixed_axis(loc="bottom", axes=par2, offset=(0, -30) )
for item in par2.get_xticklabels():
item.set_text('new label')
par2.axis["bottom"].toggle(all=True)
可悲的是par2.get_xticklabels()
,它似乎并没有像我天真预期的那样工作(即它不返回 x 轴的标签)。
我发现解决类似问题的最相似问题是如何更改多个轴标签的字体大小(使用 host_subplot API 创建),它会更改字体大小属性(不是附加到 xaxis 刻度的单个标签)。