1.绘制频次直方图

先来画一个简单的直方图

1
2
3
4
5
6
%matplotlib inline 
import matplotlib.pyplot as plt
import numpy as np
plt.style.use('seaborn-white')
data = np.random.randn(1000)
plt.hist(data)

1

来看一下 plt.hist 的帮助文档:

1
2
3
4
5
6
#Signature:
plt.hist(x,bins=None,range=None,density=None,weights=None,cumulative=False,
bottom=None,histtype='bar',align='mid',orientation='vertical',rwidth=None,log=False,
color=None,label=None,stacked=False,normed=None,*,data=None,**kwargs,)
#Docstring:
#Plot a histogram. 绘制直方图
部分参数解析
x

数组或数组的序列。

bins

int 或 sequence 或 str,可选。是将x坐标轴分解的方法。可以直接一个数字,一个序列和一个字符串。

1
2
d = [1,1.2,3,3.5,4,4.6]
plt.hist(d,bins=[1,2,3,4])

1

可以看到,图像的x坐标轴被分为[1,2),[2,3),[3,4]。

range

范围 tuple 或 None 可选。用来定义直方图的上下范围,如果没有提供,则默认为 x.min() x.max()。如果 bins 是一个序列,则 range 无效。

1
2
d = [1,1.2,3,3.5,4,4.6]
plt.hist(d,bins=4,range=[2,15])

1

可以看到,range 指定的值就是 x 坐标的上下限。

density

密度,布尔值,可选。如果为 true 则返回元组的第一个元素将是形成概率密度的标准化计数,即直方图的面积积分为1。对于,normed 和 density 参数,如果两者都是 True ,则使用 density 如果两者都没有设置,默认为 False ,如果同时设置了 normed 和 density 则会产生错误。

1
2
3
4
5
6
7
d = np.linspace(0,10,25)
x = np.sin(d)
plt.hist(x,density=True)

d = np.linspace(0,10,25)
x = np.sin(x)
plt.hist(x)

1

1

weights

权重 数组或 None,可选。与 x 形状相同的权重数组,如果 normed 或 density 的值是 True ,密度的积分超出范围扔为1。

cumulative

bool 可选,如果为 true 计算直方图中每个 bin 中的数值,最后一个的面积为1。

1
2
3
d = np.linspace(0,10,25)
x = np.sin(x)
plt.hist(x,cumulative=True)

1

bottom

数组,标量或 None,每个图像底部基线的位置,如果是标量,每个图像的基线移动相同的量,如果是一个数组,则每个 bin 独立移动,数组的个数必须与图中图像的个数相同。

1

histtype

histtype : {‘bar’, ‘barstacked’, ‘step’, ‘stepfilled’}, 可选要绘制的直方图类型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#1.bar
d = np.linspace(0,10,25)
x = np.sin(d)
plt.hist(x,density=True,histtype='bar')
#2.barstacked
d = np.linspace(0,10,25)
x = np.sin(d)
plt.hist(x,density=True,histtype='barstacked')
#3.step
d = np.linspace(0,10,25)
x = np.sin(d)
plt.hist(x,density=True,histtype='step')
#4.stepfilled
d = np.linspace(0,10,25)
x = np.sin(d)
plt.hist(x,density=True,histtype='stepfilled')

按照顺序各种样式如下:

1

1

1

1

align

align : {‘left’, ‘mid’, ‘right’}, optional}

对齐方式。默认值为 mid。

orientation

orientation : {‘horizontal’, ‘vertical’}, optional

方向:{‘horizontal’,’vertical’},可选

rwidth

标量或无,可选。

条形图的相对宽度,是直方图宽度的一部分,如果“无”,自动计算宽度。

log

bool ,可选。

color

标签,str 或 none 可选