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

这里对一些不太了解领域的库进行简要的介(fan)绍(yi),感兴趣的读者可以自行了解。
这些图表都在 matplotlib.pyplot 中进行了封装。

统计、概率分布

plt.boxplot(x,**kwargs)

绘制箱形图

在这里插入图片描述

重要参数:

  • x:输入的参数,可以是一个二维数组
  • positions:每个箱的位置
  • vert:True 为图表方向垂直,False 为水平
  • whis:设置内限(上下边缘)与四分位距的关系,默认 1.5
  • usermedians:使用该参数中的数据代替 x 中计算得出的均值
  • labels:标签的数组

在这里插入图片描述

关于箱型图

  • 上四分位 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)

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

在这里插入图片描述

重要参数:

  • dataset:将要绘制的数据集
  • positions:绘制琴的位置
  • vert:True 为图表方向垂直,False 为水平
  • showmeans:是否显示均值
  • showextrema:是否显示极值
  • showmedians:是否显示中位数

分级图

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

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

在这里插入图片描述

重要参数:

  • 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)log10(i+1) 决定六边形颜色
    • 一个整数:该整数决定等级的数量
    • 一个整数序列:按照给定的整数序列确定每个分级的底线
  • xscale,yscale:x、y 轴的扫描方式,‘linear’ 或 ‘log’
  • mincnt:不显示数量小于 mincnt 的六边形

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

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

在这里插入图片描述

  • C:代表颜色深度的二维数组
  • X、Y:坐标的一维数组,可选

染色方式如下:

在这里插入图片描述

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

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

在这里插入图片描述

重要参数:

  • 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:是否使用数量而不是概率密度函数来显示数据

频谱分析

函数名简介
acorr绘制 x 的自相关函数
xcorr绘制 x 有 y 的互相关性
angle_spectrum绘制角频谱图
magnitude_spectrum绘制强度频谱图
phase_spectrum绘制相位谱图
cohere绘制 x 与 y 的相干性图
scd绘制互谱密度
psd绘制功率谱密度
spectrogram短时傅里叶变换

等高线

函数名简介
clabel给一条等高线添加标注
contour绘制等高线
contourf在等高线间填充

场/流

函数名简介
barbs风速场
quiver箭头图
quiverkey给 quiver 添加注释表填
streamplot带有场的箭头

系列文章:

matplotlib 使用简明教程(一)-基础概念:
https://blog.csdn.net/fenghuizhidao/article/details/79352882
matplotlib 使用简明教程(二)-常用图表
https://blog.csdn.net/fenghuizhidao/article/details/83090043
matplotlib 使用简明教程(三)-一些专业图表简介
https://blog.csdn.net/fenghuizhidao/article/details/83090165
matplotlib 使用简明教程(四)-辅助性元件
https://blog.csdn.net/fenghuizhidao/article/details/83090249
matplotlib 使用简明教程(五)-画布、图表、元素基础操作
https://blog.csdn.net/fenghuizhidao/article/details/83090320
matplotlib 使用简明教程(六)-图像、动画相关
https://blog.csdn.net/fenghuizhidao/article/details/83090512
matplotlib 使用简明教程(七)-样式定义
https://blog.csdn.net/fenghuizhidao/article/details/83090553


版权声明:本文为fenghuizhidao原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。