【python】盒图的制作
盒图效果图
这是使用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】盒图的制作相关推荐
- python安装盒怎么打开_python盒图
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python.print(a)print(a)print(a)print(a)p ...
- python英雄联盟万图视频制作
python英雄联盟万图视频制作 前言 图片数据采集 图片合成视频 视频添加音效 前言 数据来源: 英雄联盟官网 开发环境:win10.python3.7 开发工具:pycharm 图片数据采集 爬虫 ...
- python 正态分布图_用python制作正态分布图
赛马正态分布图 1.制作IQ数据图 import numpy as np import pandas as pd import matplotlib.pyplot as plt #使用%matplot ...
- python matplotlib画盒图、子图解决坐标轴标签重叠的三种解决办法
在使用matplotlib画图的时候将常会出现坐标轴的标签太长而出现重叠的现象,本文主要通过自身测过好用的解决办法进行展示,希望也能帮到大家,原图出现重叠现象例如图1: 代码为: data1=[[0. ...
- 【meng_项目】python+flask+html+css制作一个简单的生日祝福语网页
python+flask+html+css制作一个简单的生日祝福语网页 一个py文件: test.py 一个html文件: birthday_index.html 一张图片: ...
- 制作gif动图python_制作gif动图python-女性时尚流行美容健康娱乐mv-ida网
女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页 > 高级搜索 制作 手机动画屏保― gif t ...
- 怎么将流程图转化为N-S图(盒图)?
从历史上看,N-S图就是从传统的流程图演化而来的. 随着结构化程序设计方法的出现,美国学者Ike Nassi和Ben Shneiderman于1973年提出了一种新的流程图形式, 这种流程图完全去掉了 ...
- python 对论文插图制作局部放大图并在原图中相同位置加边框
python 对论文插图制作局部放大图并在原图中相同位置加边框: 全部代码如下: import cv2 import numpy as npimage_path = "E:\\仿真资料\\论 ...
- Python使用AI photo2cartoon制作属于你的漫画头像
Python使用AI photo2cartoon制作属于你的漫画头像 1. 效果图 2. 原理 3. 源码 参考 git clone https://github.com/minivision-ai/ ...
最新文章
- t-top 命令详解
- 10个堪称神器的学习网站
- linux centos使用xrdp远程界面登陆
- AutoHotKey Script AHK脚本++Topre Realforce 104Pro十周年纪念版静电容键盘
- iOS下Html页面中input获取焦点弹出键盘时挡住input解决方案
- polymer 绑定html元素,使用Polymer扩展本机HTML元素
- one order event handling - event filtering
- Linux Shell 读取用户输入
- matlab2c使用c++实现matlab函数系列教程-real函数
- Unix/Linux操作系统介绍
- ucGUI/emWin 自定义中文字库(汉字字库)
- 中国姓氏人口排名及分布
- 计算机考研除了专业课还要学什么时候,计算机考研专业课什么时候开始看
- QQ和360大战的这场戏我的看法
- 微带滤波器摘要_微带交指滤波器的设计
- golang 源码分析之channel
- 联邦学习攻击与防御综述
- python在线办公自动化oa系统django408
- win7计算机服务项,新萝卜家园win7旗舰版服务项的详解
- 杨辉三角形实现过程详解-C语言基础