📜  Python中的 Matplotlib.axes.Axes.hist()(1)

📅  最后修改于: 2023-12-03 15:19:24.215000             🧑  作者: Mango

Python中的 Matplotlib.axes.Axes.hist()

Matplotlib是一个功能强大的Python可视化库,在数据分析和数据可视化中广泛使用。hist()函数是Matplotlib中的一个函数,用于绘制柱状图。

基本介绍

hist()函数是定义在Matplotlib.axes.Axes类中的一个方法。它用于绘制指定数据的柱状图。

该函数的基本语法如下:

Axes.hist(
    x,
    bins=None,
    range=None,
    density=False,
    weights=None,
    cumalative=False,
    bottom=None,
    histtype='bar',
    align='mid',
    orientation='vertical',
    rwidth=None,
    log=False,
    color=None,
    label=None,
    stacked=False,
    normed=None,
    *,
    data=None,
    **kwargs
)

下面是对其中一些重要参数的说明:

  • x:要绘制柱状图的数据,可以是一个1-D 数组或一系列数组。
  • bins:指定统计的区间个数,即用多少个区间来展示数据。默认值是10个。
  • range:指定统计的区间范围,一个长度为 2 的元组(start,end),start表示起始值,end表示结束值。
  • density:指定是否将柱状图标准化为概率值。默认值是False。
  • histtype:指定柱状图类型,可选值为'bar'、'barstacked'、'step'和'stepfilled'。默认值是'bar'。
  • color:指定柱状图的颜色,可以是一个单独颜色,也可以是一个颜色列表。如果x包含多列,则必须为每列设置不同颜色。
  • label:为柱状图指定标签,用于生成图例。
实例演示

下面是一些实例演示,帮助理解hist()函数的使用。

例1
import matplotlib.pyplot as plt
import numpy as np

np.random.seed(10)
x = np.random.randn(1000)

fig,ax = plt.subplots()

ax.hist(x, bins=30)
ax.set_title('Histogram of x')

plt.show()

结果如下图所示:

例2
fig,axes = plt.subplots(nrows=2, ncols=2)
ax0, ax1, ax2, ax3 = axes.flatten()

ax0.hist(x, bins=30)
ax0.set_title('Default histogram')

ax1.hist(x, bins=30, density=True)
ax1.set_title('Normalized histogram')

ax2.hist(x, bins=30, cumulative=True)
ax2.set_title('Cumulative histogram')

ax3.hist(x, bins=30, orientation='horizontal')
ax3.set_title('Horizontal histogram')

plt.show()

结果如下图所示:

例3
np.random.seed(0)

x = np.random.normal(0,1,(1000,3))
fig, ax = plt.subplots()

colors = ['blue', 'red', 'green']
label = ['Column 1', 'Column 2', 'Column 3']

for i in range(3):
    ax.hist(x[:,i], bins=20, color=colors[i], alpha=0.5, label=label[i])
    
ax.legend()
ax.set_xlabel('Value')
ax.set_ylabel('Frequency')
ax.set_title('Histogram of Three Columns')

plt.show()

结果如下图所示:

小结

hist()函数是Matplotlib中一个非常重要的绘图函数,可以很方便地绘制出数据的柱状图。熟练掌握这个函数的使用可以大大提高数据可视化和数据分析的效率。