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

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')

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

使用 Terra 绘图时,alpha 参数无法按预期工作

使用 seaborn 绘图时,如何为色调参数指定多个变量?

如何在大数据中进行超参数优化?

Visual Studio 自定义代码片段在方法定义的参数列表中不起作用

如何使用 CgLayer 进行最佳绘图

如何绕过将数据模型传递给片段参数以避免事务太大异常?