Matplotlib-沿同一轴的不同记号标签对齐方式
我有一个有很多子图的图形,这样一个轴的最后一个记号标签写在下一个轴的第一个记号标签上。 由于我希望在设置时保持子地块之间的间距,因此我希望根据刻度进行不同的对齐,因为它可以通过以下方式生成:Matplotlib-沿同一轴的不同记号标签对齐方式,matplotlib,axis-labels,subplot,Matplotlib,Axis Labels,Subplot,我有一个有很多子图的图形,这样一个轴的最后一个记号标签写在下一个轴的第一个记号标签上。 由于我希望在设置时保持子地块之间的间距,因此我希望根据刻度进行不同的对齐,因为它可以通过以下方式生成: plt.xticks([0], ha = 'left') plt.xticks([0.2,0.4], ha = 'center') plt.xticks([0.6], ha = 'right') 使用这种方法,图中只显示最后一次调用xticks。另一种方法是对齐第一个和最后一个记
plt.xticks([0], ha = 'left')
plt.xticks([0.2,0.4], ha = 'center')
plt.xticks([0.6], ha = 'right')
使用这种方法,图中只显示最后一次调用xticks。另一种方法是对齐第一个和最后一个记号标签,使它们保持在子批次内
希望我明白了
有什么想法吗?一旦您修复了记号,您就可以访问并设置记号标签的对齐方式,以避免相邻子地块之间的重叠
import matplotlib.pyplot as plt
plt.rcParams.update({"xtick.direction" : "in",
"ytick.direction" : "in",
"figure.subplot.wspace" : 0.02,
"axes.xmargin" : 0,
"figure.figsize" : (5,2.4)})
fig, axes = plt.subplots(1,2, sharey=True)
for ax in axes:
ax.plot([0,.3,.6], [0,1,2])
# Fix ticks
ax.set_xticks([0,.2,.4,.6])
# Get ticklabels for fixed ticks
ticklabels = ax.get_xticklabels()
# set the alignment for outer ticklabels
ticklabels[0].set_ha("left")
ticklabels[-1].set_ha("right")
plt.show()
非常感谢,这正是我想要的!