Тики фактически одинаковы на обеих сторонах осей, поэтому их нельзя изменить только для одной стороны осей.
Решение для matplotlib <3.1: </h3> В дополнение к ответу @ Sheldore, вероятно, хотелось бы разделить двойные оси, иначе обе стороны не синхронизированы. import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.tick_params(axis="y", direction='in', length=8)
ax2 = ax.twinx()
ax2.tick_params(direction="out", right=True, length=8)
ax2.get_shared_y_axes().join(ax,ax2)
plt.show()
Решение для matplotlib> = 3.1
В Matplotlib 3.1 введены вторичные оси.Это полезно во многих случаях, когда ранее требовалось неправильно использовать двойные оси, как указано выше.Преимущество состоит в том, что без дополнительных аргументов он будет синхронизироваться автоматически.
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.tick_params(axis="y", direction='in', length=8)
ax2 = ax.secondary_yaxis("right")
ax2.tick_params(axis="y", direction="out", length=8)
plt.show()
Вывод одинаков в обоих случаях:
