设f是一个依赖于自变量x和一个(或多个)参数b的函数。 我的目标是将多个b值绘制到同一图像中。我希望b是一个全局值(这样我就可以快速改变它)。 考虑代码
import numpy as np
import pylab as pl
b=0.5
def f(x,b):
return np.sin(x*b)*b
X = np.linspace(0,10,1000)
F = f(X,b)
pl.figure(figsize=(12, 16), num="My sine")
pl.plot(X, F, label='b = %f' %b)
pl.legend(loc="best")
可以多次评估此代码,只需使用b的另一个值。然后将所有曲线绘制到同一图中。
现在问题: 如果在上面的代码中我把
pl.subplot2grid((4, 1), (0, 0), rowspan=3)
在pl.plot
和pl.legend
之间,每个新的代码评估都被绘制成一个新的空白数字。
那么,我怎么能意识到使用pl.subplot2grid
每个评估被绘制到同一个图中?
答案 0 :(得分:1)
也许你正在寻找这样的东西?:
import numpy as np
import pylab as pl
def f(x,b):
return np.sin(x*b)*b
def draw(b):
X = np.linspace(0,10,1000)
F = f(X,b)
ax1.plot(X, F, label='b = %f' %b)
# Main program
fig = pl.figure(figsize=(12, 16), num="My sine")
ax1 = pl.subplot2grid((4,3), (0,0), colspan=2)
for b in [0.4, 0.5, 0.6]:
draw(b)
pl.legend(loc="best")
pl.show()
答案 1 :(得分:0)