隐藏直方图

Kar*_*are 5 python plot matplotlib histogram

因此,我想绘制正态分布,并且我已经看到一种实现此目的的方法是使用以下代码:

import numpy as np
import matplotlib.pyplot as plt

mu = 5
sigma = 1

s = np.random.normal(mu, sigma, 1000)

count, bins, ignored = plt.hist(s, 100, normed=True);
pdf = 1/(sigma * np.sqrt(2 * np.pi)) * np.exp(- (bins - mu)**2 / (2 * sigma**2))

mu_ = 10
sigma_ = 1
s = np.random.normal(mu_, sigma_, 1000)

count_, bins_, ignored_ = plt.hist(s, 100, normed=True);
pdf_ = 1/(sigma_ * np.sqrt(2 * np.pi)) * np.exp(- (bins_ - mu_)**2 / (2 * sigma_**2))

plt.plot(bins, pdf, linewidth=2, color='g')
plt.plot(bins_, pdf_, linewidth=2, color='r')

plt.show()
Run Code Online (Sandbox Code Playgroud)

结果是:

在此处输入图片说明

我的问题是,我可以以某种方式隐藏直方图,以便仅显示正态分布线吗?我知道还有另一种绘制正态分布的方法,但是我有点喜欢这种方式

感谢您的帮助!!!

Chr*_*oba 5

尝试添加plt.clf()之前:

plt.plot(bins, pdf, linewidth=2, color='g')
plt.plot(bins_, pdf_, linewidth=2, color='r')
Run Code Online (Sandbox Code Playgroud)

这将清除直方图,同时仍然允许您使用正在绘制的输出。如果您想要两个单独的图形,一个带有直方图,一个带有线条,请添加plt.figure()而不是plt.clf().


Imp*_*est 5

当然,获得苹果切片的一种可能方法是准备一个苹果派,然后从派中挑选所有苹果。更简单的方法肯定是根本不做蛋糕。

因此,图中没有直方图的明显方法是不首先将其绘制。取而代之的是,使用来计算直方图numpy.histogram(始终是由调用plt.hist函数),并将其输出绘制到图形上。

将numpy导入为np
导入matplotlib.pyplot作为plt

亩= 5
sigma = 1

s = np.random.normal(mu,sigma,1000)

count,bins = np.histogram(s,100,normed = True)
pdf = 1 /(sigma * np.sqrt(2 * np.pi))* np.exp(-(bins-mu)** 2 / /(2 * sigma ** 2))

mu_ = 10
sigma_ = 1
s = np.random.normal(mu_,sigma_,1000)

count_,bins_ = np.histogram(s,100,normed = True)
pdf_ = 1 /(sigma_ * np.sqrt(2 * np.pi))* np.exp(-(bins_-mu _)** 2 / /(2 * sigma _ ** 2))

plt.plot(bins,pdf,线宽= 2,颜色='g')
plt.plot(bins_,pdf_,线宽= 2,颜色='r')

plt.show()

在此处输入图片说明