matplotlib作图系列之hist直方图

函数

>matplotlib.pyplot.hist(x, bins=10, range=None, normed=False, weights= None, cumulative=False, bottom=None,histtype='bar', align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None, stacked=False, hold=None,**kwargs)

举例

直方图一般输入的数据很多,以一个系统产生的随机数为例(平均值为100,标准差为30,数量为200个)

import matplotlib.pyplot as plt
import numpy as np

data=np.random.normal(100,50,200)#data为平均值为100,标准差为30,数量为200的一个一维数组
plt.figure(figsize=(12,6),dpi=80)#设置画布
plt.hist(data,bins=10,#共分为多少个区间(图中共有多少个柱子)
		color='blue',
		range=(0,200),#bin的取值范围,40个bin的最小值为20,最大值为180,其余的不统计
		density=1)#density=1:纵坐标为频率;不加该参数,纵坐标为频数
plt.xlabel('Value', fontsize=16)
plt.ylabel('Probability', fontsize=16)
plt.title('hist', fontsize=32)
plt.savefig('hist.pdf')
plt.show()

作图结果为
在这里插入图片描述

参数介绍

常用参数:
(1)bins: 将数据分为几个组,即图上画几个柱子
(2)range: 对数据中特定部分的数据进行统计
(3)density: 设置为1时,纵坐标代表 频率/组距,否则为频数
(normed已经过时了,使用会报错)
详细参数
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: matplotlib hist 直方图是一种用于可视化数据分布的表类型。它将数据分成一系列的区间(称为“bin”),并计算每个区间内数据的频率。然后,它将这些频率绘制成一个条形,其中每个条形表示一个区间。直方图可以帮助我们了解数据的分布情况,例如数据的中心趋势、偏斜度和峰度等。在matplotlib中,我们可以使用hist()函数来创建直方图。 ### 回答2: matplotlib 是一个应用广泛的 Python 数据可视化库,其中 hist 函数可以用来绘制直方图直方图是一种用于展示连续型数据分布的表,通常用于了解数据的分布情况。下面将对 matplotlib 中的 hist 函数进行简要介绍和应用举例。 matplotlibhist 函数可以接受一维的数组作为输入数据,通过将数据划分到不同的区间(bin),并在每个区间内统计数值的数量,生成直方图hist 函数的常见参数包括: - x: 输入的数组数据; - bins: 区间的数量或者区间的边界; - range: 希望展示的数据范围; - density: 是否将直方图转化为概率密度; - cumulative: 是否展示累计直方图。 为了更好的理解 hist 的使用方法,我们着重介绍 bins 和 density 两个参数。 bins 参数决定划分的区间数量或者边界。如果 bins 是一个整数,则将数据平均分为该数量的区间;如果 bins 是一个序列,则使用该序列作为区间的边界;如果 bins 是字符串“auto”,则会尝试选择最优的区间边界。以下是一个简单的使用 bins 参数的例子: ```python import numpy as np import matplotlib.pyplot as plt data = np.random.randn(1000) plt.hist(data, bins=20) plt.show() ``` 该程序将使用 20 个平均的区间,将 data 数组的值划分为不同的区间,并展示其分布情况。我们可以通过调整 bins 的值来观察直方图的变化。如将 bins 参数修改为 10,则会使用 10 个平均的区间: ```python plt.hist(data, bins=10) ``` density 参数可以将直方图转化为概率密度。在默认情况下,hist 函数会统计每个区间内的数量,并将其作为 y 轴的值;如果 density 参数为 True,则将每个区间内的数值除以所有数值之和,得到的值为该区间内的概率密度。以下是一个使用 density 参数的例子: ```python x = np.random.normal(0, 1, size=1000) plt.hist(x, bins=50, density=True) plt.show() ``` 上述程序将生成一个随机正态分布的样本数据,将其分为 50 个区间,并绘制了概率密度直方图。通过 density 参数,我们可以更好地观察到数据的分布情况。 除了 bins 和 density 参数,hist 函数还支持一些其他的定制选项,比如设置边框颜色、修改标签、更改柱状宽度等等。通过深入学习这些选项,我们可以更好地掌握 matplotlibhist 函数,并用于数据分析和可视化任务中。 ### 回答3: Matplotlib 是一款流行的 Python 可视化库,具有丰富的绘功能。在 Matplotlib 中,`hist()` 方法可以用来绘制直方图直方图是一种常用的数据可视化方式,主要用于展示数值型数据的分布情况。它可以将一组数据分成若干个区间(也叫“箱子”或“面元”),并统计每个区间内数据的个数。画出的形会呈现出数据的分布情况,有助于帮助我们分析数据的特征。 在使用 Matplotlib 绘制直方图时,主要需要指定一组数据以及需要将数据分成的区间数。常用的绘参数包括: - `bins`:指定区间数量。如果不指定,则默认为 10。 - `color`:指定直方图的颜色。 - `alpha`:指定直方图透明度。 - `range`:指定将数据分成区间时的范围。 - `density`:是否对 y 轴进行标准化。 以下是一个简单的绘制直方图的例子: ```python import matplotlib.pyplot as plt import numpy as np # 生成一组随机数据 data = np.random.randn(1000) # 绘制直方图 plt.hist(data, bins=20, color='skyblue', alpha=0.8) # 添加坐标轴标签和标题 plt.xlabel('Value') plt.ylabel('Frequency') plt.title('Histogram of Random Data') # 显示形 plt.show() ``` 此代码会生成一个随机数据的直方图。其中,`data` 变量存储了 1000 个标准正态分布的随机数,`bins` 指定将数据分成 20 个区间,`color` 指定直方图的颜色为淡蓝色,`alpha` 指定直方图的透明度为 0.8。绘制好直方图后,添加了 x 轴和 y 轴标签,以及标题,最后显示形。 除了基本的参数之外,`hist()` 方法还可以接受很多其他的关键字参数,包括`cumulative`、`histtype`、`weights` 等等。通过灵活运用这些参数,我们可以绘制出更加丰富和复杂的直方图,用于展示数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值