matplotlib 直方图绘制详解

本文详细介绍了如何使用Matplotlib库绘制直方图,并通过多个实例展示了不同参数设置的效果,包括调整箱子数量、颜色及规范化选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

n, bins, patches = plt.hist(datasets, bins, normed=False, facecolor=None, alpha=None)

函数说明

用于绘制多个数据集datasets的直方图


主要形参:

  1. datasets: 数据集列表, datasets中各个数据集的长度可以不等, 也可以传入numpy中的 2-D ndarray
  2. bins: 直方图中箱子(bin)的个数
  3. facecolor: 箱子的颜色
  4. alpha: 箱子的透明度
  5. normed: 决定直方图y轴取值是落在某个箱子中的元素的个数(normed=False或normed=0),
    还是某个箱子中的元素的个数占总体的百分比(normed=True或normed=1)

函数返回值: 返回值为一个元组(tuple)

  1. n: 直方图中 数据x落在 某个箱子里元素个数(或者占比)组成的数组
  2. bins: 直方图中 箱子取值(可能是落在该区间的x的均值)组成的数组
  3. patches: 是一个封装了 p 和 n信息的列表的集合(Patch对象)

例子

import numpy as np
import matplotlib.pyplot as plt

# Fixing random state for reproducibility
# np.random.randn 这个函数的作用就是从标准正态分布中返回一个或多个样本值
# seed(): 设置种子是为了输出图形具有可重复性
np.random.seed(20170617)
mu, sigma = 100, 15
x = mu + sigma * np.random.randn(10000)
p, bins, patches = plt.hist(x, 50, normed=True, facecolor='g', alpha=0.75)

hist01

改变形参 bins, facecolor, normed

设置 bins=10, facecolor=cyan, normed=0
通过下图可以看到 箱子个数, 颜色, 以及 y轴的变化

p, bins, patches = plt.hist(x, 10, normed=0, facecolor='cyan', alpha=0.75)

hist02

datasets为多个一维数据集

import numpy as np
import matplotlib.pyplot as plt

np.random.seed(20170617)
mu, sigma = 100, 15
x1 = mu + sigma * np.random.randn(10000)

np.random.seed(20160617)
x2 = mu + sigma * np.random.randn(3000)
p, bins, patches = plt.hist((x1,x2), 10, normed=0, alpha=0.4)

hist03

datasets 为 2D-ndarray

import numpy as np
import matplotlib.pyplot as plt

np.random.seed(20170617)
mu, sigma = 100, 15
t = np.random.randn(3600)
t.shape = (900, 4)
x = mu + sigma * t

p, bins, patches = plt.hist(x, 5, normed=10, alpha=0.4)

hist5

转载于:https://www.cnblogs.com/nowgood/p/matplotlibpyplothist.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值