# 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()
问问题
25460 次
1 回答
7
您正在设置set_xlim
而set_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_xlim
并且set_ylim
无法调用,因为它们不存在于pylab
命名空间中。pylab.xlim
是获取当前坐标区对象并调用该对象方法的快捷set_xlim
方式。你可以自己这样做:
ax = p.subplot(111)
ax.set_xlim([0.0,10.0])
ax.set_ylim([0.0,10.0])
于 2013-09-15T12:53:31.313 回答