1

我需要绘制 4 个 X 与 Y 图,其中 X 是常数,但 Y 值不同。我使用下面的代码来获取绘图,但需要在辅助 Y 轴(图像中的 Y 轴 2)的任一侧显示 Y 比例,主要 Y 轴的方式(向内和向外)。现在,它位于辅助 Y 轴的同一侧。如何修改以下代码以完成此操作。

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
fig.subplots_adjust(left=0.1,right=0.9)

twin2 = ax.twinx()
twin3 = ax.twinx()
twin4 = ax.twinx()

twin3.spines['right'].set_position(("axes", 0.0))
twin4.spines['right'].set_position(('axes', 1.0))

p1, = ax.plot([0, 1, 2], [0, 1, 2], "b-", label="plot1")
p2, = twin2.plot([0, 1, 2], [0, 3, 2], "r-", label="plot2")
p3, = twin3.plot([0, 1, 2], [50, 30, 15], "g-", label="plot3")
p4, = twin4.plot([0, 1, 2], [5, 3, 1], "y-", label="plot4")

ax.set_xlim(0, 2)
ax.set_ylim(0, 2)

ax.set_xlabel("X Axis")
ax.set_ylabel("Y Axis")
twin2.set_ylabel("Y Axis 2")

plt.show()

在此处输入图像描述

4

1 回答 1

2

在您的第 4 个轴上,设置左侧tick_left脊椎并将其移动到右侧:

twin4.yaxis.tick_left()
twin4.spines['left'].set_position(('axes', 1.0))

在此处输入图像描述

于 2021-06-04T07:21:14.487 回答