我想在一些指数分布图中插入一些箭头:
import pylab as pl
import numpy as np
def gauss2d(x,sigma):
return (1/np.sqrt(2*np.pi*sigma ))*np.exp(-1/2*(x/sigma)**2 )
def draw_arrow(zero, sigma, function):
startx = zero
print startx,function(sigma, sigma)
arr = pl.Arrow(startx,function(startx+sigma, sigma), sigma,0,fc="k",ec="k")
ax = pl.gca()
ax.add_patch(arr)
def plot_gauss2d():
x = np.mgrid[115:135:100j]
#x=np.array(zip(range(5)),dtype=float)
sigma = 1
off=1.0
pl.plot(x,gauss2d(x-126.21,3.56), 'b-')
draw_arrow(126.21, 3.56, gauss2d)
pl.plot(x,gauss2d(x-126.71,4.57), 'b-')
pl.plot(x,gauss2d(x-120.64,3.5), 'b-')
pl.ylabel('frequency')
pl.xlabel('ppm of N')
pl.title
pl.show()
def main():
plot_gauss2d()
if __name__ == "__main__":
main()
不知何故,我似乎无法让箭头正确。我基本上想要的是这样的:
我根本无法弄清楚如何将箭头直接设置到我想要的位置。它应该在正确的高度上标出标准偏差的点。整个事情当然应该产生多条指数曲线。