我目前正在绘制(使用
Python-x,y 2.7.2.1)几个子图,我希望将所有y-标签放在一行中.目前它们不是,因为刻度标签有不同的尺寸.作为演示,我添加了这个脚本:
import pylab as P
import numpy as N
x = N.linspace(0,2*N.pi,10000)
y1 = N.sin(x)
y2 = N.cos(x)*10000
P.figure()
ax1 = P.subplot(211)
P.plot(x,y1,"k-")
y1 = P.ylabel("$\\sin{(x)}$")
P.xlim((0,2*N.pi))
ax2 = P.subplot(212)
P.plot(x,y2,"k--")
y2 = P.ylabel("$\\cos{(x)}\\cdot{}10^4$")
P.xlim((0,2*N.pi))
P.show()
结果如下所示,请注意相对于彼此移动的标签:
我尝试使用设置标签位置
(x,y) = y2.get_position()
ax1.yaxis.set_label_coords(x,y)
但显然他们使用不同的坐标,因为set_label_coords需要相对坐标,而get_position()似乎会产生像素或其他东西.一个desparation尝试使用
y1.set_x(x); y1.set_y(y)
没有任何影响.所以我对自己说:问一个专家 – 所以我在这里.任何人都可以告诉我如何移动标签,所以它们相互之间是一条线,看起来像预期的那样棒?
我期待着你的回答.