Я пишу сценарий для рисования графика с помощью matplotlib, следующий код является аналогом моего оригинального сценария, который воспроизводит проблему, с которой я столкнулся.
def func(ax, data, color, position): # A function for plotting
ax.plot(data[0], data[1], color=color)
ax.spines[position].set_color(color)
fig = plt.figure()
data_1 = [np.linspace(0, 1, 10), np.linspace(0, 10, 10)]
data_2 = [np.linspace(0, 1, 10), np.linspace(10, 0, 10)]
ax = fig.add_subplot(111)
func(ax, data_1, 'r', 'left')
ax_1 = ax.twinx()
func(ax_1, data_2, 'b', 'right')
plt.show()
Ожидаемый график должен иметь обе оси y, но только правый корешок окрашен, как показано ниже.

При приближении к левому отделу позвоночника вы можете найти красную тень вокруг оси Y, это означает, что мой цветной отдел позвоночника покрыт другим, как решить эту проблему, изменив только func()
?