我想使用matplotlib从向量绘制归一化的直方图。我尝试了以下方法:
plt.hist(myarray, normed=True)
以及:
plt.hist(myarray, normed=1)
但是没有一个选项会从[0,1]产生y轴,以使得直方图的条形高度之和为1。我想生成这样的直方图-我该怎么做?
如果您提出了更完整的工作示例(或在这种情况下为非工作示例),则将更有帮助。
我尝试了以下方法:
import numpy as np
import matplotlib.pyplot as plt
x = np.random.randn(1000)
fig = plt.figure()
ax = fig.add_subplot(111)
n, bins, rectangles = ax.hist(x, 50, density=True)
fig.canvas.draw()
plt.show()
实际上,这将产生一个y轴从到的条形图直方图[0,1]
。
此外,按照该hist
文件(即ax.hist?
从ipython
),我觉得总和也没关系:
*normed*:
If *True*, the first element of the return tuple will
be the counts normalized to form a probability density, i.e.,
``n/(len(x)*dbin)``. In a probability density, the integral of
the histogram should be 1; you can verify that with a
trapezoidal integration of the probability density function::
pdf, bins, patches = ax.hist(...)
print np.sum(pdf * np.diff(bins))
在上面的命令后尝试一下:
np.sum(n * np.diff(bins))
我得到1.0
预期的返回值。请记住,normed=True
这并不意味着每个小节的值之和将是统一的,而不是在小节上的积分是统一的。在我的情况下,np.sum(n)
返回约7.2767
。
numpy.histogram()函数将输入数组和作为两个参数。 bin数组中的连续元素用作每个bin的边界。 Matplotlib 可以将直方图的数字表示转换为图形。 pyplot子模块的plt()函数将包含数据和数组的数组作为参数,并转换为直方图。
我正在尝试在 matplotlib 中绘制具有多个数据序列的直方图。 我有不相等间隔的箱子,但是我想要每个箱子得到相同的宽度。所以我这样使用属性< code>width: 结果是: 我怎样才能去掉两个系列的两个对应箱子之间的边距?一、 e.如何为每个箱子分组不同系列的钢筋? 谢谢
我有一个pandas数据框,它在一系列中具有以下值 我被指示用Python 3.6在Jupyter笔记本中绘制两个直方图。不用担心,对吧? 我选择了8个垃圾箱,因为这对我来说是最好的。我还被指示用x的对数绘制另一个直方图。 这个直方图看起来很糟糕。我做得不对吗?我试过摆弄这个情节,但我所做的一切似乎都让柱状图看起来更糟。例子: 除了将X的日志绘制为直方图之外,我没有得到任何指示。 我真的很感激任何
我有一个小函数,可以生成两个子情节的情节。一个子图是重叠的两个直方图,另一个子图是一个直方图除以另一个直方图的结果。 对于第二个子图,我不知道如何删除直方图条之间的边(比如上面的那个),也不知道如何降低它的高度(比如说,它是上面那个高度的一半)。我也不知道如何将标题设置到情节的最顶端。 这些事情怎么可能做到? 我的代码如下:
问题内容: 有没有办法直接使用字典中的数据来绘制条形图? 我的字典看起来像这样: 我期待 工作,但事实并非如此。 这是错误: 问题答案: 您可以通过首先绘制条形图然后设置适当的刻度来分两行进行: 请注意,倒数第二行应在python3中读取,因为它会返回一个生成器,而matplotlib无法直接使用该生成器。
我有一张桌子,比如: 生成虚拟数据: 我想用垫线 (v1.4) 在 Python 3 中完成一个任务: 绘制的直方图 按 两个小时,未能获得所需的直方图 我阅读了matplotlib的示例和用户指南。令人惊讶的是,我没有找到关于如何从颜色图中指定颜色的教程 我在谷歌上搜索过,但没有找到一个简洁的例子 我想一个人可以用,不导入一系列模块,例如,