С самыми последними версиями 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
. Но вы должны получить что-то вроде этого: