直方图和饼图
2021-8-11
| 2023-8-6
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
Property

 

直方图

直方图(Histogram),又称质量分布图,是一种统计报告图,由一系列高度不等的条纹表示数据分布的情况。一般用横轴表示数据类型,纵轴表示分布情况。
直方图是数值数据分布的精确图形表示。为了构建直方图,第一步是将值的范围分段,即将整个值的范围分成一系列间隔,然后计算每个间隔中有多少值。这些值通常被指定为连续的,不重叠的变量间隔。间隔必须相邻,并且通常是(但不是必须的)相等的大小。
直方图的绘制方法,使用的是plt.hist方法来实现,这个方法的参数以及返回值如下:
参数:
  • x:数组或者可以循环的序列。直方图将会从这组数据中进行分组
  • bins:数字或者序列(数组/列表等)。如果是数字,代表的是要分成多少组。如果是序列,那么就会按照序列中指定的值进行分组。比如[1,2,3,4],那么分组的时候会按照三个区间分成3组,分别是[1,2)/[2,3)/[3,4]
  • range:元组或者None,如果为元组,那么指定x划分区间的最大值和最小值。如果bins是一个序列,那么range没有有没有设置没有任何影响
  • density:默认是False,如果等于True,那么将会使用频率分布直方图。每个条形表示的不是个数,而是频率/组距(落在各组样本数据的个数称为频数,频数除以样本总个数为频率)
  • cumulative:如果这个和density都等于True,那么返回值的第一个参数会不断的累加,最终等于1
 
其他参数:请参考:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.hist.html
返回值:
  1. n:数组。每个区间内值出现的个数,如果density=True,那么这个将返回的是频率/组距
  1. bins:数组。区间的值
  1. patches:数组。每根条的对象,类型是matplotlib.patches.Rectangle
 
 
notion image
 
 
另外,也可以通过density=True,来实现频率分布直方图:
notion image
 
 
而如果想要让nums的总和为1,那么就需要设置cumulative=True参数:
 
 

饼图

饼图是一个划分为几个扇形的圆形统计图表,用于描述量、频率或百分比之间的相对关系的。 在matplotlib中,可以通过plt.pie来实现:
参数说明:
  • x:浮点型数组,表示每个扇形的面积
  • explode:数组,表示各个扇形之间的间隔,默认值为0
  • labels:列表,各个扇形的标签,默认值为 None
  • colors:数组,表示各个扇形的颜色,默认值为 None
  • autopct:设置饼图内各个扇形百分比显示格式,%d%% 整数百分比,%0.1f 一位小数, %0.1f%% 一位小数百分比, %0.2f%% 两位小数百分比
  • labeldistance:标签标记的绘制位置,相对于半径的比例,默认值为 1.1,如 <1则绘制在饼图内侧
  • pctdistance::类似于 labeldistance,指定 autopct 的位置刻度,默认值为 0.6
  • shadow::布尔值 True 或 False,设置饼图的阴影,默认为 False,不设置阴影
  • radius::设置饼图的半径,默认为 1
  • startangle::起始绘制饼图的角度,默认为从 x 轴正方向逆时针画起,如设定 =90 则从 y 轴正方向画起
  • counterclock:布尔值,设置指针方向,默认为 True,即逆时针,False 为顺时针
  • wedgeprops :字典类型,默认值 None。参数字典传递给 wedge 对象用来画一个饼图。例如:wedgeprops={'linewidth':5} 设置 wedge 线宽为5
  • textprops :字典类型,默认值为:None。传递给 text 对象的字典参数,用于设置标签(labels)和比例文字的格式
  • center :浮点类型的列表,默认值:(0,0)。用于设置图标中心位置
  • frame :布尔类型,默认值:False。如果是 True,绘制带有表的轴框架
  • rotatelabels :布尔类型,默认为 False。如果为 True,旋转每个 label 到指定的角度
 
返回值:
  1. patches:饼图上每个分块的对象
  1. texts:分块的名字文本对象
  1. autotexts:分块的比例文字对象
 
notion image
 
  • Matplotlib
  • 条形图散点图
    目录