python - 多个 y 尺度,但只有一个启用了平移和缩放

标签 python matplotlib plot zooming

考虑以下用于绘制 matplotlib 图的 python 代码:

import matplotlib.pylab as pp
import numpy as np

alpha = np.linspace(0, 2 * np.pi, 400)
sig1 = np.sin(alpha)
sig2 = np.sin(2 * alpha) + 2 * (alpha > np.pi)

ax1 = pp.subplot(111)
ax2 = ax1.twinx()

ax1.plot(alpha, sig1, color='b')
ax2.plot(alpha, sig2, color='r')
ax1.set_ylabel('sig1 value', color='b')
ax2.set_ylabel('sig2 value', color='r')
pp.grid()
pp.show()

给我一​​个好的情节

enter image description here

我想了解如何禁用其中一个轴进行平移/缩放,因此当我使用平移/缩放工具时,例如只有 ax2 会重新缩放。有没有办法做到这一点?我想以编程方式进行。

最佳答案

您可以使用 ax2.set_navigate(False) 执行此操作:

from matplotlib.pyplot import *
import numpy as np

fig,ax1 = subplots(1,1)
ax2 = ax1.twinx()
ax2.set_navigate(False)
x = np.linspace(0,2*np.pi,100)
ax1.plot(x,np.sin(x),'b')
ax1.set_xlabel('Scaleable axis')
ax1.set_ylabel('Scaleable axis')
ax2.plot(x,np.sin(x+1),'r')
ax2.set_ylabel('Static axis',weight='bold')

关于python - 多个 y 尺度,但只有一个启用了平移和缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15303284/

相关文章:

python - 雄蕊地形图在 Cartopy 中不起作用

python - matplotlib clabel 上的 set_clip_path 没有正确剪裁

r - 使用 ggplot 在一页上绘制多个图

python - pylab 3d 散点图与绘制数据的 2d 投影

python - 在 Linux 上使用 Python 进行套接字编程 - s.connect() 超时

python - 附加数据帧(非常大)时如何提高嵌套 for 循环的运行时间

python - python脚本中的多语言支持

python - 使用 Matplotlib 创建多个绘图

python - DataLoader num_workers 与 torch.set_num_threads

python - 使用 Pandas 和 Scatter_Matrix 将不会显示