Python_箱型图绘制与特征值获取

它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比较

如何利用Python绘制箱型图

需要的import的包

1 import matplotlib.pyplot as plt
2 from matplotlib.font_manager import FontProperties
3 import numpy as np
4 import pandas as pd

该函数是绘制多箱型图,且数据长度不一致的情况,input_dict = {filename1:[a1,a2,...,an],filename2:[b1,b2,...,bn]...} Y_label = ‘Img_name‘

 1 def DrawMultBoxPic(input_dict,Y_label):
 2     dict_list_length = []
 3     for item in input_dict:
 4         temp_length = len(input_dict[item])
 5         dict_list_length.append(temp_length)
 6     # 获取最长列表长度
 7     max_length = max(dict_list_length)
 8     # 每个列表在后面追加None
 9     for item in input_dict:
10         diff_length = max_length - len(input_dict[item])
11         if diff_length > 0:
12             for i in range(diff_length):
13                 input_dict[item].append(None)
14         # else:
15             # print(‘{}文件列表长度最长‘.format(item))
16     # 绘制箱型图
17     zhfont = FontProperties(fname=‘C:/Windows/Fonts/simsun.ttc‘, size=16)
18     data = pd.DataFrame.from_dict(input_dict)
19     data.boxplot(widths=0.3,figsize=(30,15),fontsize=16)
20     plt.xlabel(u‘煤质文件名称‘, fontproperties=zhfont)
21     plt.ylabel(Y_label, fontproperties=zhfont)
22     plt.title(Y_label, fontproperties=zhfont)
23     # plt.axis([0, 6, 0, 90])
24     plt.grid(axis=‘y‘, ls=‘--‘, lw=2, color=‘gray‘, alpha=0.4)
25     plt.grid(axis=‘x‘, ls=‘--‘, lw=2, color=‘gray‘, alpha=0.4)
26     imgname = ‘E:\\‘ + Y_label + ‘.png‘
27     plt.savefig(imgname, bbox_inches = ‘tight‘)
28     # plt.show()

结果显示

如何获取箱型图特征

 1 """
 2 【函数说明】获取箱体图特征
 3 【输入】 input_list 输入数据列表
 4 【输出】 out_list:列表的特征[下限,Q1,Q2,Q3,上限] 和 Error_Point_num:异常值数量
 5 【版本】 V1.0.0
 6 【日期】 2019 10 16
 7 """
 8 def BoxFeature(input_list):
 9     # 获取箱体图特征
10     percentile = np.percentile(input_list, (25, 50, 75), interpolation=‘linear‘)
11     #以下为箱线图的五个特征值
12     Q1 = percentile[0]#上四分位数
13     Q2 = percentile[1]
14     Q3 = percentile[2]#下四分位数
15     IQR = Q3 - Q1#四分位距
16     ulim = Q3 + 1.5*IQR#上限 非异常范围内的最大值
17     llim = Q1 - 1.5*IQR#下限 非异常范围内的最小值
18     # llim = 0 if llim < 0 else llim
19     # out_list = [llim,Q1,Q2,Q3,ulim]
20     # 统计异常点个数
21     # 正常数据列表
22     right_list = []
23     Error_Point_num = 0
24     value_total = 0
25     average_num = 0
26     for item in input_list:
27         if item < llim or item > ulim:
28             Error_Point_num += 1
29         else:
30             right_list.append(item)
31             value_total += item
32             average_num += 1
33     average_value =  value_total/average_num
34     # 特征值保留一位小数
35     out_list = [average_value,min(right_list), Q1, Q2, Q3, max(right_list)]
36     # print(out_list)
37     out_list = Save1point(out_list)
38     return out_list,Error_Point_num

原文地址:https://www.cnblogs.com/wangxiaobei2019/p/11719453.html

时间: 2024-08-29 17:01:49

Python_箱型图绘制与特征值获取的相关文章

箱型图

箱型图是在1977年由美国的统计学家约翰·图基(John Tukey)发明的.它由五个数值点组成:最小值(min),下四分位数(Q1),中位数(median),上四分位数(Q3),最大值(max).也可 以往盒图里面加入平均值(mean).如上图.下四分位数.中位数.上四分位数组成一个"带有隔间的盒子".上四分位数到最大值之间建立一条延伸线,这个 延伸线成为"胡须(whisker)". 由于现实数据中总是存在各式各样地"脏数据",也成为"

4-4 盒图绘制

盒图¶ In [1]: %matplotlib inline np.random.normal()的意思是一个正态分布:numpy.random.normal(loc=0,scale=1e-2,size=shape) 参数loc(float):正态分布的均值,对应着这个分布的中心.loc=0说明这一个以Y轴为对称轴的正态分布, 参数scale(float):正态分布的标准差,对应分布的宽度,scale越大,正态分布的曲线越矮胖,scale越小,曲线越高瘦. 参数size(int 或者整数元组):

pyhton中matplotlib箱线图的绘制(matplotlib双轴图、箱线图、散点图以及相关系数矩阵图))

//2019.07.23 1.箱形图,又称为盒式图,一般可以很好地反映出数据分布的特征,也可以进行多项数据之间分布特征的比较,它主要包含五个基础数据:中位数,两个上下分位数以及上下边缘线数据 其中的一些参数具体含义及其计算过程如下: 2.双轴图的绘制代码:import numpy as npimport matplotlib.pyplot as pltimport pandas as pdplt.rcParams["font.sans-serif"]=["SimHei&quo

扩增子统计绘图1箱线图:Alpha多样性

绘制Alpha多样性线箱图 绘图和统计全部为R语言,建议复制代码,在Rstuido中运行,并设置工作目录为存储之前分析结果文件的result目录 # 运行前,请在Rstudio中菜单栏选择“Session - Set work directory -- Choose directory”,弹窗选择之前分析目录中的result文件夹 # 安装相关软件包,如果末安装改为TRUE运行即可安装 if (FALSE){ source("https://bioconductor.org/biocLite.R

Matlab boxplot for Multiple Groups(多组数据的箱线图)

在画之前首先介绍一下Matlab boxplot,下面这段说明内容来自http://www.plob.org/2012/06/10/2153.html 由于matlab具有强大的计算功能,用其统计数据功能优点显而易见,这里分享使用matlab中的boxplot的一些技巧,供大家参考. Matlab boxplot命令 格式如下 boxplot(X):产生矩阵X的每一列的盒图和“须”图,“须”是从盒的尾部延伸出来,并表示盒外数据长度的线,如果“须”的外面没有数据,则在“须”的底部有一个点. www

基于svg中的path画40%表示的环型图(js类库Rapha&#235;l)

 一.可供参考的文档资料. raphaeljs官网:http://raphaeljs.com/ w3c关于path的介绍:http://www.w3.org/TR/2003/REC-SVG11-20030114/paths.html mdn关于path的介绍(英文版):https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths mdn关于path的介绍(中文版):https://developer.mozilla.org/zh-

【数据分析&amp;数据挖掘】异常值的判断与去除——3σ &amp; 箱线图分析

1 import pandas as pd 2 3 # 异常值 ——远离正常值范围的错误值 4 # 异常值 ——删掉 5 6 # 异常值判断 ——3σ 箱线图分析 7 8 # 3σ 接住标准正态部分得到的规律——99.73%都在(μ-3α,μ+3α)之间,超过这个范围的数据认为是异常的 9 10 def three_sigma(data): 11 """ 12 进行3sigma异常值剔除 13 :param data: 原数据——series 14 :return: bool

【数据分析&amp;数据挖掘】2000-2017年各个产业生产总值箱线图

1 import matplotlib.pyplot as plt 2 import numpy as np 3 4 5 # 构建数据 6 def build_data(): 7 res = np.load("./国民经济核算季度数据.npz", allow_pickle=True) 8 columns = res["columns"] 9 values = res["values"] 10 return columns, values 11 1

扩增子图表解读1箱线图:Alpha多样性

箱线图 箱形图(Box-plot)又称为盒须图.盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图.因形状如箱子而得名.在宏基因组领域,常用于展示样品组中各样品Alpha多样性的分布 第一种情况,最大或最小值没有超过1.5倍箱体范围 第二种情况,最大或最小值超过1.5倍箱体范围,外位延长线外,即异常值(outliers) Alpha多样性 知识背景:Alpha多样性计算方法 常见的丰度估计方法有Shannon, Chao1和Observed OTU和PD whole tree等.我最喜欢