matpltlib怎么给直方图加上拟合曲线?

  统计/机器学习 数据可视化 Python    浏览次数:6597        分享
2


上面的直方图里有一条红色的拟合的曲线。matpltlib怎么给直方图加上拟合曲线?

谢谢!


 

有故事的董同学   2017-12-17 10:44



   2个回答 
7

需要用到python的matplotlib包,如下:

# -*- coding:utf-8 -*-  
import numpy as np  
import matplotlib.mlab as mlab  
import matplotlib.pyplot as plt  
  
mu = 100  # 正态分布的均值  
sigma = 15  # 标准差  
x = mu + sigma * np.random.randn(10000)#在均值周围产生符合正态分布的x值  
  
num_bins = 50  
n, bins, patches = plt.hist(x, num_bins, normed=1, facecolor='green', alpha=0.5)  
#直方图函数,x为x轴的值,normed=1表示为概率密度,即和为一,绿色方块,色深参数0.5.返回n个概率,直方块左边线的x值,及各个方块对象  
y = mlab.normpdf(bins, mu, sigma)#画一条逼近的曲线  
plt.plot(bins, y, 'r--')  
plt.xlabel('Smarts')  
plt.ylabel('Probability')  
plt.title(r'Histogram of IQ: $\mu=100$, $\sigma=15$')#中文标题 u'xxx'  
  
plt.subplots_adjust(left=0.15)#左边距  
plt.show()  
得到图形为:

SofaSofa数据科学社区DS面试题库 DS面经

博观   2017-12-18 14:52

谢谢大神! - 有故事的董同学   2017-12-29 13:56
4

用sns.displot是最简单,最方便的

import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt

sns.distplot(np.random.normal(0, 1, 1000), bins=30)
plt.show()


SofaSofa数据科学社区DS面试题库 DS面经

KingBug   2018-02-05 23:29



  相关主题

matplotlib.pyplot画图怎么添加横轴,纵轴的名字?   1回答

plt.pie画饼图,怎么调节透明度alpha   1回答

可视化InvocationException: GraphViz's executables not found   1回答

matplotlib.pyplot环境下给曲线下方的面积涂色?   1回答

matplotlib怎么画圆?   1回答

画图的时候RuntimeError: Invalid DISPLAY variable   1回答

怎么用Python画这种温度分布图   1回答

python里怎么实现柱状图?   1回答

python(matplotlib)中如何把折线图和柱状图画在一起?   1回答

如何用python画饼图?   2回答

matplotlib中bar plot横坐标的数字改成自定义的文字   1回答

matplotlib.pyplot画图的标题中插入变量   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!