gpt4 book ai didi

python - Matplotlib:将两个 y 轴围绕零对齐

转载 作者:行者123 更新时间:2023-12-03 20:28:31 62 4
gpt4 key购买 nike

我有一个共享 x 轴上有两个 y 轴的图,我想让它们在 y=0 处对齐,以便我可以绘制一条水平线来突出显示零刻度。目前两个轴没有对齐,我必须画两条线,这很糟糕。我怎样才能做到这一点?


enter image description here

最佳答案

假设您创建了具有共享轴的图,您只需将 y 的范围修改为以零为中心或在两个图中具有相似的偏移乘数(即为两个图设置 ax.set_ylim(-6,6))。下面的代码是一个例子。

from matplotlib import pyplot as plt
import numpy as np

#Create some Fake Data
x =np.arange(-10,10)
y = x+np.random.rand(20)
y2 = 0.5*x-3.*np.random.rand(20)


#Figure
fig = plt.figure(figsize=(12,6))

#First subplot with zero line not even
ax1 = plt.subplot(121)
ax2 = ax1.twinx()

ax1.plot(x,y,c='r')
ax2.plot(x,y2,c='b')

ax1.axhline(0)

#Second Subplot with zero line the same on both axes
ax3 = plt.subplot(122)
ax4 = ax3.twinx()

ax3.plot(x,y,c='r')
ax4.plot(x,y2,c='b')

ax3.axhline(0)

#If you set your limits on both sides to have the same interval you will get the same zero line
ax3.set_ylim(-10,10)
ax4.set_ylim(-6,6)

plt.show()

enter image description here

关于python - Matplotlib:将两个 y 轴围绕零对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55646777/

62 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com