python-3.x - 无法绘制大参数值
问题描述
我想绘制 beta 分布,beta.pdf(x, a, b)
但我只收到以下错误:
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)
解决方案
在尝试创建海底小提琴情节时,我遇到了完全相同的问题。因此,我使用以下命令更新了包scipy、matplotlib、numpy和seaborn :
pip install --upgrade scipy
pip install --upgrade matplotlib
pip install --upgrade numpy
pip install --upgrade seaborn
不幸的是,这也没有帮助,所以我最终使用了numpy 的seterr方法来简单地忽略这个警告(如这个旧答案中所述)。您可以在代码开头进行如下设置:
numpy.seterr(under='ignore')
推荐阅读
- qt - 更改背景颜色时保持按钮的 3D 效果
- scala - 按 ID 的 Akka 流组
- c# - SPA 默认页面中间件无法返回默认页面
- javascript - 使用将内容推送到数组中的函数后,数组的内容消失了
- javascript - 在网络工作者或服务工作者中运行 websocket - javascript
- reactjs - 通过onClick在reactjs上从输入文本传递参数
- payara - 我如何找出 wicket 在“生成”目录中写入的文件?
- c# - 如何在 .NET 控制台应用程序中获取路径
- python-3.x - 如何将两个单词作为输入(摩尔斯电码)并变成两个单词,但它们之间有空格
- c# - 如何根据距离在两点之间缩放和旋转精灵