1

假设我使用类似于此演示的 twinx() 创建辅助 y 轴

有没有办法可以将次要 y 轴的刻度线和值放置在左侧紧邻现有 y 轴的左侧,如下所示?

在此处输入图像描述

4

1 回答 1

1

使用最新版本的 Matplotlib,这非常简单。

def add_twin(ax, **kwargs):
    twin = ax.twinx()
    twin.yaxis.tick_left()
    twin.tick_params(axis='y', direction='in', **kwargs)
    for tick in twin.get_yticklabels():
        tick.set_horizontalalignment('right')
    return twin


fig, ax = plt.subplots()
twin = add_twin(ax)
twin.set_yticks((0.1, 0.5, 0.9))

水平对齐部分是关键,您可能需要使用kwargs. 但是你应该得到这样的东西:

在此处输入图像描述

于 2020-03-01T23:39:07.767 回答