当前位置: 首页 > 知识库问答 >
问题:

Matplotlib/Pandas直方图对齐不正确

华泽语
2023-03-14
# A histogram
n = np.random.randn(100000)
fig, axes = plt.subplots(1, 2, figsize=(12,4))

axes[0].hist(n)
axes[0].set_title("Default histogram")
axes[0].set_xlim((min(n), max(n)))

axes[1].hist(n, cumulative=True, bins=50)
axes[1].set_title("Cumulative detailed histogram")
axes[1].set_xlim((min(n), max(n)));

这是来自[41]中的ipython笔记本

直方图条似乎没有正确地与网格对齐(见第一个子图)。这也是我在自己的作品中面临的问题。

有人能解释一下原因吗?

共有2个答案

花高爽
2023-03-14

如果你有一个从-2647到1324的高斯分布,你希望有3971个箱子吗?也许太多了。39 ? 那你就差0.71了。40美元怎么样?减0.29。

直方图的工作方式是您可以设置bin=参数(bin的数量,默认为10)。在右图上,比例似乎从-4.5到4.5,这使得跨度为9除以10个箱子,得到0.9/箱。

另外,当你做柱状图时,你并不清楚你想如何把东西分类并表示出来。如果你有一个从0到1的箱子,它是0吗

所以直方图是一种快速的方法,它可以让您深入了解数据,但并不妨碍您设置其参数以您喜欢的方式表示数据。

这篇博客文章很好地演示了直方图绘制中参数的影响,并解释了一些绘制直方图的替代方法。

穆阳炎
2023-03-14

在matplotlib hist中查找align选项。可以左对齐、右对齐或居中对齐。默认情况下,箱子不会居中,这就是为什么会看到左对齐的箱子。这在matplotlib历史文档中有详细说明:http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.hist

 类似资料:
  • 我正在使用 matplotlib 生成一些直方图,并且在弄清楚如何使直方图的 xtick 与条形对齐时遇到了一些麻烦。 这是我用来生成直方图的代码示例: 我知道数组中的所有值都位于。这意味着有49个独特的值。我想显示每个值的直方图。这是生成内容的图片。 如何设置图形,使所有的x轴都与每个条形的左边、中间或右边对齐?

  • 这让我发疯,我想知道我是否只是不了解直方图,matplotlib或世界的基本知识。如果我尝试用matplotlib的直方图绘制以下数据,我得到以下图像,这绝对不正确: 1.25 似乎是正确的,但例如,5 是完全错误的,而 1 没有绘制。我做错了什么吗?(注意:矩阵直方图的默认对齐方式以值为中心)

  • 直方图(Histogram),又称质量分布图,它是一种条形图的一种,由一系列高度不等的纵向线段来表示数据分布的情况。 直方图的横轴表示数据类型,纵轴表示分布情况。 首先,我们需要了解柱状图和直方图的区别。直方图用于概率分布,它显示了一组数值序列在给定的数值范围内出现的概率;而柱状图则用于展示各个类别的频数。 例如,我们对某工厂的员工年龄做直方图统计,首先我们要统计出每一位员工的年龄,然后设定一个

  • 有没有一种惯用的方法来绘制两个类的特征直方图?在熊猫方面,我基本上想要 在同一个情节中。我可以 但这给了我两个不同的情节。 这似乎是一项常见的任务,因此我认为有一种惯用的方法来完成这项任务。当然,我可以手动操作柱状图,使其彼此相邻,但熊猫通常都能很好地做到这一点。 基本上,我希望将这个matplotlib示例放在一行熊猫中:http://matplotlib.org/examples/pylab_

  • 问题内容: 我有一个包含图像和ap标签的div(如下所示)。我想根据段落的多少行在div的中间垂直对齐图像。垂直对齐不起作用。我现在正在使用JavaScript找出要添加到margin- top的数量,但是宁愿使用CSS。有任何想法吗? 问题答案: 尝试将元素的属性设置为图像的高度,例如: 编辑: 刚意识到我读错了问题,却错过了多行的事实。尝试的一种选择是完全删除元素,并将其设置为of的,使用的o

  • 问题内容: 我有以下几行注释我的绘图上的TeX : 如何使等号彼此对齐?我尝试了几种方法,如,-placement,但我不完全得到它的权利。 问题答案: 使用。您的代码的简化版本: 为了使其正常工作,我必须安装dvipng(如此处建议的,http: //matplotlib.sourceforge.net/users/usetex.html )