Matplotlib刻度标签

时间:2014-11-21 12:31:14

标签: matplotlib

有没有办法将刻度标签恰好放在轴内,即类似于方向属性,就像它们自己一样?

现在我将x属性设置为勾选标签上的正值,以便在轴内绘制它们,即

ax2.set_yticklabels(['0', '2500', '5000', '7500'], minor=False, x=0.05)

但这并不适用于可调整大小的地块,因为0.05数字是绝对的(在大地块上太大了)。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我假设ax2被构造为ax2 = ax.twinx(),也就是说它位于轴的右侧。

您可以执行以下操作:

ax2.set_yticklabels(['0', '2500', '5000', '7500'], minor=False, horizontalalignment='right')
for tick in ax2.yaxis.get_major_ticks():                                        
        tick.set_pad(-8)

如果您希望左侧轴也在内侧,那么您只需将水平对齐切换到'left',然后将打击垫从-8更改为-25

这两个数字可能不准确,可能取决于您可能具有的其他matplotlib设置(例如主要刻度的长度),因此您可能希望稍微增加或减少这些值。