用python绘制泊松分布图

用python绘制泊松分布图,python,matplotlib,plot,graphing,Python,Matplotlib,Plot,Graphing,我想使用Matplotlib在Python中绘制泊松函数。函数是(exp(-5)*5^x)/阶乘(x) 但我得到了这个错误。“只有大小为^1的数组才能转换为Python标量”。我如何绘制这个图表?提前感谢当前的问题可能是您在循环中使用的是“t”而不是“i”。但是,您可能希望避免将python列表与numpy数组混合使用。你可以这样做 import numpy as np import scipy.misc import math import matplotlib.pyplot as plt

我想使用Matplotlib在Python中绘制泊松函数。函数是(exp(-5)*5^x)/阶乘(x)


但我得到了这个错误。“只有大小为^1的数组才能转换为Python标量”。我如何绘制这个图表?提前感谢

当前的问题可能是您在循环中使用的是“t”而不是“i”。但是,您可能希望避免将python列表与numpy数组混合使用。你可以这样做

import numpy as np
import scipy.misc
import math
import matplotlib.pyplot as plt

t = np.arange(0, 20, 0.1)
x = np.power(t, 5)
y = scipy.misc.factorial(t)

plt.plot( t, x / y, 'bs')
plt.show()

我认为您的函数不正确:它是
exp(-5)


应该是
pow(5,i)
factorial(i)
而不是
t
?注意
scipy.misc.factorial
是不推荐的,从1.0开始,
scipy.special.factorial
import numpy as np
import scipy.misc
import math
import matplotlib.pyplot as plt

t = np.arange(0, 20, 0.1)
x = np.power(t, 5)
y = scipy.misc.factorial(t)

plt.plot( t, x / y, 'bs')
plt.show()
import numpy as np
import matplotlib.pyplot as plt
from scipy.special import factorial

t = np.arange(0, 20, 0.1)
d = np.exp(-5)*np.power(5, t)/factorial(t)

plt.plot(t, d, 'bs')
plt.show()