盒图效果图


这是使用python制作的盒图,在同一个坐标轴中展现10个盒图。盒图能够很好地显示数据的离散的分布情况。除了图片展示,python还能够计算出每个盒图的相关数据,比如目标数据的平均值、最大值、最小值等,例如(以上盒图对应的部分数据):

          index1      index2      index3
count  842.000000  842.000000  842.000000
mean     9.284371    9.044644    8.989394
std      0.240151    0.261572    0.267525
min      7.880000    7.800000    7.300000
25%      9.162500    8.900000    8.840000
50%      9.320000    9.070000    9.020000
75%      9.440000    9.217500    9.160000
max      9.800000    9.760000    9.730000

代码

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import xlrd#保存数据,可用于之后的学习研究
def save_data(data, path):Note=open(path,mode='w')print("保存数据")Note.write(str(data))Note.close()#读取xls文件数据
def read_excel(excel_name,sheet_name):"""参数:输入:excel的名字输出:目标表的名字"""workbook = xlrd.open_workbook(excel_name)  #打开文件sheet = workbook.sheet_by_name(sheet_name)  #读取sheet页# 获取表的行列数rows = sheet.nrowscols = sheet.ncolsall_data = []tempList = []# 读取放置在excel中的数据for col in range(3, 13):for row in range(1, rows):print(rows)tempList.append(sheet.cell(row, col).value)all_data.append(tempList)tempList = []return all_data#设置盒图的图片参数
def draw_box(all_data):for i in range(1):db = np.array(all_data)  # 把数据放置到numpy中的数组中print(db)fig = plt.figure(figsize=(40, 15))  # 设置画布大小ax = fig.add_subplot(111)  # 图形在画布中的布局allg = ["index1", "index2", "index3", "index4", "index5", "index6", "index7", "index8", "index9","index10"]  # 设置横坐标df = pd.DataFrame(db.T, columns=allg)  # db.T表示转置ax.set_title("Box-and-Whisker Plots", fontsize=24)  # 以下表示设置坐标标签以及字体大小ax.set_xlabel('index', fontsize=22)ax.set_ylabel('grade', fontsize=22)df.boxplot(ax=ax, fontsize=24)plt.savefig("盒图4.jpg")  # 保存plt.show()pd.set_option('display.max_columns', None)  # 为了将数据全部展示,显示全部列data = df.describe()  # 计算相关指标print(data)save_data(data, "数据.txt")  # 用于存储各组数据的指标数据if __name__ == '__main__':all_data = read_excel("参数1", "参数2")#读取数据,参数1是excel的名字,参数2是里面具体的表名draw_box(all_data)#绘制图表

使用方法

数据

本代码使用的数据是以列为单位,即每一列数据对应着一个盒图。
在读取表格数据时的read_excel()函数中的for循环中:

for col in range(3, 13):for row in range(1, rows):

(excel表格中的第一列的下标从0开始),大家可以根据自己的需要修改。

图表

allg = ["index1", "index2", "index3", "index4", "index5", "index6", "index7", "index8", "index9","index10"]  # 设置横坐标

allg设置了横坐标,可根据自己的实际数据修改

以下是本人的git地址,欢迎大家免费下载,交流学习:

https://github.com/HYHJessica/

【python】盒图的制作相关推荐

  1. python安装盒怎么打开_python盒图

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python.print(a)print(a)print(a)print(a)p ...

  2. python英雄联盟万图视频制作

    python英雄联盟万图视频制作 前言 图片数据采集 图片合成视频 视频添加音效 前言 数据来源: 英雄联盟官网 开发环境:win10.python3.7 开发工具:pycharm 图片数据采集 爬虫 ...

  3. python 正态分布图_用python制作正态分布图

    赛马正态分布图 1.制作IQ数据图 import numpy as np import pandas as pd import matplotlib.pyplot as plt #使用%matplot ...

  4. python matplotlib画盒图、子图解决坐标轴标签重叠的三种解决办法

    在使用matplotlib画图的时候将常会出现坐标轴的标签太长而出现重叠的现象,本文主要通过自身测过好用的解决办法进行展示,希望也能帮到大家,原图出现重叠现象例如图1: 代码为: data1=[[0. ...

  5. 【meng_项目】python+flask+html+css制作一个简单的生日祝福语网页

    python+flask+html+css制作一个简单的生日祝福语网页 一个py文件:     test.py 一个html文件:   birthday_index.html 一张图片:       ...

  6. 制作gif动图python_制作gif动图python-女性时尚流行美容健康娱乐mv-ida网

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页 > 高级搜索 制作 手机动画屏保― gif t ...

  7. 怎么将流程图转化为N-S图(盒图)?

    从历史上看,N-S图就是从传统的流程图演化而来的. 随着结构化程序设计方法的出现,美国学者Ike Nassi和Ben Shneiderman于1973年提出了一种新的流程图形式, 这种流程图完全去掉了 ...

  8. python 对论文插图制作局部放大图并在原图中相同位置加边框

    python 对论文插图制作局部放大图并在原图中相同位置加边框: 全部代码如下: import cv2 import numpy as npimage_path = "E:\\仿真资料\\论 ...

  9. Python使用AI photo2cartoon制作属于你的漫画头像

    Python使用AI photo2cartoon制作属于你的漫画头像 1. 效果图 2. 原理 3. 源码 参考 git clone https://github.com/minivision-ai/ ...

最新文章

  1. t-top 命令详解
  2. 10个堪称神器的学习网站
  3. linux centos使用xrdp远程界面登陆
  4. AutoHotKey Script AHK脚本++Topre Realforce 104Pro十周年纪念版静电容键盘
  5. iOS下Html页面中input获取焦点弹出键盘时挡住input解决方案
  6. polymer 绑定html元素,使用Polymer扩展本机HTML元素
  7. one order event handling - event filtering
  8. Linux Shell 读取用户输入
  9. matlab2c使用c++实现matlab函数系列教程-real函数
  10. Unix/Linux操作系统介绍
  11. ucGUI/emWin 自定义中文字库(汉字字库)
  12. 中国姓氏人口排名及分布
  13. 计算机考研除了专业课还要学什么时候,计算机考研专业课什么时候开始看
  14. QQ和360大战的这场戏我的看法
  15. 微带滤波器摘要_微带交指滤波器的设计
  16. golang 源码分析之channel
  17. 联邦学习攻击与防御综述
  18. python在线办公自动化oa系统django408
  19. win7计算机服务项,新萝卜家园win7旗舰版服务项的详解
  20. 杨辉三角形实现过程详解-C语言基础

热门文章

  1. android系统电源管理
  2. Linux系统引导过程及故障排除
  3. Gecco文档-首页
  4. 学习笔记 | 数据结构 考研要点
  5. Android实现相机拍照和相册选择以及图片裁剪适配Android10以上
  6. Quantile 百分位数
  7. RPKM与TPM值的区别
  8. 搭建一个简单的vue3项目
  9. 制作Centos7自动安装镜像(三)
  10. C++23种设计模式(23)-解释器模式