微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Matplotlib 在 Python 中的同一 Y 轴上有 2 个不同的比例

如何解决如何使用 Matplotlib 在 Python 中的同一 Y 轴上有 2 个不同的比例

我需要绘制 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,"b-",label="plot1")
p2,= twin2.plot([0,3,"r-",label="plot2")
p3,= twin3.plot([0,[50,30,15],"g-",label="plot3")
p4,= twin4.plot([0,[5,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()

enter image description here

解决方法

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

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

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。