matplotlib 使用简明教程(三)-一些专业图表简介

统计、概率分布

`plt.boxplot(x,**kwargs)`

`plt.violinplot(dataset, positions=None, vert=True, widths=0.5, showmeans=False, showextrema=True, showmedians=False, points=100, bw_method=None, hold=None, data=None)`

分级图

`plt.hexbin(x, y, C=None, gridsize=100, bins=None, **kwargs)`

`plt.pcolormesh([X, Y,] C, **kwargs)`

`plt.hist(x, bins=None, **kwargs)`

`plt.hist2d(x, y, bins=10, range=None, normed=False, weights=None, cmin=None, cmax=None, hold=None, data=None, **kwargs)`

频谱分析

等高线

场/流

这里对一些不太了解领域的库进行简要的介(fan)绍(yi),感兴趣的读者可以自行了解。

这些图表都在 matplotlib.pyplot 中进行了封装。

统计、概率分布

plt.boxplot(x,**kwargs)

绘制箱形图

 matplotlib 使用简明教程(三)-一些专业图表简介_简明教程

 

 

 

重要参数:

x:输入的参数,可以是一个二维数组

positions:每个箱的位置

vert:True 为图表方向垂直,False 为水平

whis:设置内限(上下边缘)与四分位距的关系,默认 1.5

usermedians:使用该参数中的数据代替 x 中计算得出的均值

labels:标签的数组

matplotlib 使用简明教程(三)-一些专业图表简介_权重_02

 

 

 

关于箱型图

上四分位 Q3

下四分位 Q1

四分位距 IQR=Q3-Q1

异常值截断点(内限) Q3+1.5IQR和Q1-1.5IQR

外限 Q3+3IQR和Q1-3IQR

温和的异常值 内限与外限之间的异常值

极端的异常值 外限意外的异常值

 

plt.violinplot(dataset, positions=None, vert=True, widths=0.5, showmeans=False, showextrema=True, showmedians=False, points=100, bw_method=None, hold=None, data=None)

琴形图和箱形图式非常类似的,不过琴形图会把分布状况也表现出来

 matplotlib 使用简明教程(三)-一些专业图表简介_权重_03

 

 

 

重要参数:

dataset:将要绘制的数据集

positions:绘制琴的位置

vert:True 为图表方向垂直,False 为水平

showmeans:是否显示均值

showextrema:是否显示极值

showmedians:是否显示中位数

分级图

plt.hexbin(x, y, C=None, gridsize=100, bins=None, **kwargs)

根据数据坐标的分布绘制分级图

 matplotlib 使用简明教程(三)-一些专业图表简介_权重_04

 

 

 

重要参数:

x, y:两个一维数组,将根据 x[i],y[i] 组成坐标的分布,绘制分级图

C:一维数组

C[i] 将会规定 (x[i], y[i])坐标的权重,绘制时,某个坐标点的权重会进行平均处理

当 C 为 None 时,x[i],y[i] 坐标的权重为 1 且结果不做平均值处理。

gridsize:默认 100,x 轴方向的六边形数量;y 轴的六边形数量会进行调整

bins:分级的方式

None :直接分级,六边形的颜色即反应数量

‘log’ :按照 l o g 10 ( i + 1 ) log_{10}(i+1)log

10

(i+1) 决定六边形颜色

一个整数:该整数决定等级的数量

一个整数序列:按照给定的整数序列确定每个分级的底线

xscale,yscale:x、y 轴的扫描方式,‘linear’ 或 ‘log’

mincnt:不显示数量小于 mincnt 的六边形

 

plt.pcolormesh([X, Y,] C, **kwargs)

根据坐标情况绘制“伪色图”,即通过颜色的冷暖而不是亮暗来显示图像。

 matplotlib 使用简明教程(三)-一些专业图表简介_.net_05

C:代表颜色深度的二维数组

X、Y:坐标的一维数组,可选

染色方式如下:

 matplotlib 使用简明教程(三)-一些专业图表简介_数据_06

 

 

plt.hist(x, bins=None, **kwargs)

绘制柱状图,与 plt.bar() 的区别在于,hist 函数的参数是离散的数据,需要计算分布结果后绘制;而 bar 函数的参数是直接的柱体高度。

matplotlib 使用简明教程(三)-一些专业图表简介_.net_07

 

 

重要参数:

x:一组或多组离散数据点,每组的数据不要求长度相同。

weights:每个数据点的权重

一个与 x 形状保持一致的数组,表示每个数据点的权重,结果会进行累加

None,每个数据点权重为 1

bins:分级的方式

‘auto’ :自动分级

一个整数:该整数加 1 决定等级的数量

一个整数序列:按照给定的整数序列确定每个分级的底线

range:一个元组数据,决定分级的最小、最大值

bottom:决定分级的基底

一个数字:所有数据点的基底都由该数字决定

一个数组:分别决定每个分布的基底

density:是否使用概率密度函数显示分布结果

plt.hist2d(x, y, bins=10, range=None, normed=False, weights=None, cmin=None, cmax=None, hold=None, data=None, **kwargs)

绘制二维的柱状图,类似 hexbin 函数,不过每个小格是正方形的。

重要参数:

x,y:两个一维数组,输入的数据点坐标信息

bins:决定分级方式

int,决定 x、y 的分级数

[int, int] 分别决定 x、y 的分级数

array 决定 x、y 每级的范围

[array, array] 分别决定 x、y 的每级的范围

range:一个 2x2 的矩阵,决定图表范围

weights:None 或一个一维数组,weights[i] 决定 (x[i], y[i]) 坐标数据点的权重;默认权重为 1

normed:是否使用数量而不是概率密度函数来显示数据

频谱分析

matplotlib 使用简明教程(三)-一些专业图表简介_一维数组_08

 

 

等高线

matplotlib 使用简明教程(三)-一些专业图表简介_数据_09

 

 

matplotlib 使用简明教程(三)-一些专业图表简介_数据_10

 

 matplotlib 使用简明教程(三)-一些专业图表简介_简明教程_11

 

 

场/流


 

 

matplotlib 使用简明教程(三)-一些专业图表简介_数据_12