无法使用大参数值进行绘图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法使用大参数值进行绘图相关的知识,希望对你有一定的参考价值。

我想用beta.pdf(x, a, b)绘制Beta分布

但是它给了我FloatingPointError:exp中遇到下溢

我的代码,

x = np.linspace(0, 1, 990)
a=50.5
b=940.5

y = beta.pdf(x, a, b)

plt.title("PDF of Beta (Bell-shape)", fontsize=20)
plt.xlabel("X", fontsize=16)
plt.ylabel("Probability Density", fontsize=16)
plt.plot(x, y, linewidth=3, color='firebrick')
plt.annotate("Beta(50.5,940.5)", xy=(0.15, 2), size = 100, ha='center', va='center', color='firebrick')

fig = plt.gcf()
plt.show()


fig.savefig('my_plot.png',dpi=130)

请帮助我摆脱这个错误?

谢谢

答案

我尝试创建seaborn violin plot时遇到了完全相同的问题。因此,我使用以下命令更新了软件包scipy,matplotlib,numpyseaborn

pip install --upgrade scipy
pip install --upgrade matplotlib
pip install --upgrade numpy
pip install --upgrade seaborn

不幸的是,这也无济于事,所以我最终使用了numpy的seterr

方法来简单地忽略此警告(如this old answer中所述)。您可以在代码的开头进行如下设置:
numpy.seterr(under='ignore')

以上是关于无法使用大参数值进行绘图的主要内容,如果未能解决你的问题,请参考以下文章