解决可视化问题:module 'matplotlib.mlab' has no attribute 'normpdf'----使用scipy中的函数代替
解决可视化问题:module 'matplotlib.mlab' has no attribute 'normpdf'
今天在学习可视化绘制直方图,并添加拟合曲线时遇到了一个问题,即题目中所写module ‘matplotlib.mlab’ has no attribute ‘normpdf’
查阅相关资料之后发现是matplotlib.mlab移除了normpdf()的函数。可以使用scipy.stats.norm.pdf来解决这个问题
下面是代码展示
报错的代码
import numpy as np
import matplotlib.mlab as mlab # 这个包中的函数可以添加随机变量分布的拟合曲线
import matplotlib.pyplot as plt
from scipy.stats import norm# 样本数据
mu = 100 # 分布期望
sigma = 15 # 分布标准差
x = mu + sigma * np.random.randn(1000)
num_bins = 20# 绘制数据分布
yhist, xhist, patches = plt.hist(x, num_bins, normed=1, facecolor='blue', alpha=0.5)# 添加拟合曲线
y = mlab.normpdf(xhist, mu, sigma)
plt.plot(xhist, y, "r--")
plt.xlabel("x")
plt.ylabel("Probability")
plt.title("Histogram of Normality: $\mu=100$, $\sigma=15$")
plt.show()
结果:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-22-3c515860b004> in <module>14 15 # 添加拟合曲线
---> 16 y = mlab.normpdf(xhist, mu, sigma)17 plt.plot(xhist, y, "r--")18 plt.xlabel("x")AttributeError: module 'matplotlib.mlab' has no attribute 'normpdf'
修改之后
import numpy as np
import matplotlib.mlab as mlab # 这个包中的函数可以添加随机变量分布的拟合曲线
import matplotlib.pyplot as plt
from scipy.stats import norm# 样本数据
mu = 100 # 分布期望
sigma = 15 # 分布标准差
x = mu + sigma * np.random.randn(1000)
num_bins = 20# 绘制数据分布
yhist, xhist, patches = plt.hist(x, num_bins, normed=1, facecolor='blue', alpha=0.5)# 添加拟合曲线
y = norm.pdf(xhist, mu, sigma)
# y = mlab.normpdf(xhist, mu, sigma)
plt.plot(xhist, y, "r--")
plt.xlabel("x")
plt.ylabel("Probability")
plt.title("Histogram of Normality: $\mu=100$, $\sigma=15$")
plt.show()
输出结果:
参考资料
matplotlib.mlab.normpdf的文档
scipy.stats.norm.pdf的文档
讨论帖
大家如果有遇到相似问题,可以试试是否能够解决咯。
解决可视化问题:module 'matplotlib.mlab' has no attribute 'normpdf'----使用scipy中的函数代替相关推荐
- module 'matplotlib.mlab' has no attribute 'normpdf'错误解决办法
module 'matplotlib.mlab' has no attribute 'normpdf'错误解决办法 #加入以下代码段 from scipy.stats import norm #更改代 ...
- 解决AttributeError: module ‘matplotlib.mlab‘ has no attribute ‘normpdf‘
解决AttributeError: module 'matplotlib.mlab' has no attribute 'normpdf' 报错代码 y = mlab.normpdf(bins, mu ...
- module ‘matplotlib.mlab‘ has no attribute ‘normpdf‘
问题: module'matplotlib.mlab'has no attribute 'normpdf' 原因: mlab中normpdf属性已经移除了,报错信息: module 'matplotl ...
- AttributeError: module 'matplotlib.mlab' has no attribute 'normpdf'
AttributeError: module 'matplotlib.mlab' has no attribute 'normpdf' 在练习直方图时报错: Traceback (most recen ...
- module'matplotlib.mlab'has no attribute 'normpdf'
采用mlab中的normpdf生成高斯曲线 但是发现mlab中这个属性已经移除了,报错信息: module 'matplotlib.mlab' has no attribute 'normpdf' 使 ...
- mxnet报错解决:AttributeError: module 'mxnet.context' has no attribute 'num_gpus'
早上在跑mxnet的mnist的示例代码时报错了,代码如下: import mxnet as mx ctx = mx.gpu(0) if mx.context.num_gpus() > 0 el ...
- 成功解决利用matplotlib.pyplot进行绘图的时候整个画布中的绘制曲线只显示一部分
成功解决利用matplotlib.pyplot进行绘图的时候整个画布中的绘制曲线只显示一部分 目录 解决问题 解决思路 解决方法 解决问题 利用matplotlib.pyplot进行绘图的时候整个画布 ...
- python时 module 'matplotlib' has no attribute 'figure'解决
再用python编写代码时,可视化时我们会用到matplotlib这个包,在调用fig = plt.figure() 报错显示:AttributeError: module 'matplotlib' ...
- module 'matplotlib' has no attribute 'verbose'
参考:https://stackoverflow.com/questions/49146678/module-matplotlib-has-no-attribute-verbose module 'm ...
最新文章
- Android 与 JS 的交互 以及 JS与Android 的交互
- 国际版Azure搭建Windows多种类型×××_三.配置SSTP ×××连接服务
- Effective C++ --1 让自己习惯C++
- k3 物料收发明细表sql_物料管理:班组长物料使用应知应会4件事
- Linux自启进程管理工具,进程管理工具Supervisor的安装及使用
- python可视化添加文本_python Matplotlib基础--如何添加文本和标注
- asp.net ajax1.0基础回顾(七):综合应用
- jQuary的相关动画效果
- Android 系统性能优化(58)---开机时间优化
- DOM JS实现动态表格
- Disney牵手联想发布AR头显,还有配备激光剑的AR游戏《星球大战》
- 如何用 Visual Studio 2017 开发 Arduino 应用程序
- Spring的@Transactional事务注意事项
- 在linux配置端口映射,Linux 配置端口映射
- 【蓝牙学习笔记】Arduino设置蓝牙模块HC-06 CC2540 CC2541自动初始化
- APICloud开源O2O商城源码
- MAC下配置MAVEN环境变量配置
- Installation for COMSOl(安装COMSOL)
- 面试手写代码的经验分享
- NOIP2016普及组复赛全国一等奖名单及排名(续表_919~1419名)