Python RuntimeWarning:绘制泊松分布时在power中遇到无效值

Python RuntimeWarning:绘制泊松分布时在power中遇到无效值,python,matplotlib,runtime,Python,Matplotlib,Runtime,我想运行这段代码 import numpy as np import matplotlib.pyplot as plt from scipy.misc import factorial def poisson(k, lamb): return (lamb**k/factorial(k)) * np.exp(-lamb) x_plot = np.linspace(0, 10, 100) plt.plot(x_plot, poisson(x_plot, parameters), 'r-'

我想运行这段代码

import numpy as np
import matplotlib.pyplot as plt
from scipy.misc import factorial

def poisson(k, lamb):
    return (lamb**k/factorial(k)) * np.exp(-lamb)

x_plot = np.linspace(0, 10, 100)
plt.plot(x_plot, poisson(x_plot, parameters), 'r-', lw=2) 
plt.show()
其中
参数=0.00213553

但每次出现此警告时:

 RuntimeWarning: invalid value encountered in power
 return (lamb**k/factorial(k)) * np.exp(-lamb)
只出现一条水平线

我已经检查过类似的问题,但它们没有真正的帮助。 我还尝试将函数返回值强制转换为
float128
,但也没有成功。
(使用Python2.7.6 64位)

我真的不知道您使用的是哪个
factorial
。但是当我使用
math.factorial
时,代码甚至不能工作。然后我尝试使用
scipy.misc.factorial
,它可以真正地将
numpy数组作为输入。当我运行以下命令时,它不会给我任何错误或警告

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

parameters = 0.00213553

def poisson(k, lamb):
    return (lamb**k/scipy.misc.factorial(k)) * np.exp(-lamb)

x_plot = np.linspace(0, 10, 100)
plt.plot(x_plot, poisson(x_plot, parameters), 'r-', lw=2) 
plt.show()

盲目猜测,因为没有提供阶乘()的定义,代码遗漏了导入语句,缩进错误等等。但相信错误,我会尝试查看部分结果,暗示幂的候选参数可能是np.exp()中的
**
运算符的参数或
-lamb
参数…我编辑了我的问题并添加了完整的代码。是的,我在scipy.misc中使用了阶乘,但它没有显示正确的图形@MaThMax@Shi.Bi,你能试着把你的行分成不同的部分吗,比如(lamb**k
scipy.misc.factorial(k)`,
np.exp(-lamb)
,看看是哪一部分导致了问题?如果这只是一个
运行时警告而不是错误,为什么你看不到正确的图表?你能看到
警告的完整列表吗?我终于找到了答案。谢谢:)我必须调整plt.xlim和plt.ylim才能看到结果。@马思马克斯