使用matplotlib设置xlim和ylim(奇怪的是)

时间:2013-09-15 02:01:43

标签: python matplotlib

# the first plot DOES NOT set the xlim and ylim properly 
import numpy as np
import pylab as p

x = np.linspace(0.0,5.0,20)
slope = 1.0 
intercept = 3.0 
y = slope*x + intercept
p.set_xlim = ([0.0,10.0])
p.set_ylim = ([0.0,10.0])
p.plot(x,y)
p.show()
p.clf()

def xyplot():
    slope = 1.0
    intercept = 3.0
    x = np.linspace(0.0,5.0,20)
    y = slope*x + intercept 
    p.xlim([0.0,10.0])
    p.ylim([0.0,10.0])
    p.plot(x,y)
    p.show()

# if I place the same exact code a a function, the xlim and ylim
# do what I want ...

xyplot()    

1 个答案:

答案 0 :(得分:6)

您正在设置set_xlimset_ylim而不是调用它。你在哪里:

p.set_xlim = ([0.0,10.0])
p.set_ylim = ([0.0,10.0])

你应该:

p.set_xlim([0.0,10.0])
p.set_ylim([0.0,10.0])

当您进行更改时,您会注意到set_xlimset_ylim无法调用,因为它们不存在于pylab命名空间中。 pylab.xlim是获取当前轴对象并调用该对象的set_xlim方法的快捷方式。你可以自己做:

ax = p.subplot(111)
ax.set_xlim([0.0,10.0])
ax.set_ylim([0.0,10.0])