我正在编写一个脚本来通过 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()
Run Code Online (Sandbox Code Playgroud)
预期的绘图应该将两个 y 轴都着色,但是,只有右脊柱着色,如下所示。

当放大左侧书脊时,您可以发现 y 轴周围有一个红色阴影,这意味着我的彩色书脊被另一个书脊覆盖了,如何仅通过修改来解决此问题func()?