数据可视化第五天(读取文件获得男生女生身高信息,并且可视化在一个图像)

文件

需要学生文件的可以私信我

过程

利用numpy的loadtxt文件读取学号,性别,和身高。

import numpy as np
import matplotlib.pyplot as plt

filename='/Users/oommnn/Desktop/python学习/数据分析/网课资料/第04天/student-data.txt'

user_info=np.dtype([('subject','U10'),('sex','U1'),('height','f')])

data=np.loadtxt(filename,dtype=user_info,skiprows=9,usecols=(0,1,3),encoding='utf-8')


#排序默认升序
#argsort()函数返回数组元素的索引值,这些元素按升序排序。
index_order=data['height'].argsort()
#倒序
index_order=index_order[::-1]
data=data[index_order]
#获得全部学生的体重数据
subjects=data['subject']
heights=data['height']
#分别获得男生和女生的体重数据
isboy=data['sex']=='M'
isgirl=data['sex']=='F'
subjects_boy=data['subject'][isboy]
heights_boy=data['height'][isboy]
subjects_girl=data['subject'][isgirl]
heights_girl=data['height'][isgirl]

#figsize设置大小
#subplot_mosaic:将图像分为四个区域,用left和right进行组合,可以将四部分合并也可以分分散
fig, axs = plt.subplot_mosaic([['left_top', 'left_top'],
                               ['left', 'right']],figsize=(12,5),layout='constrained',facecolor='lightskyblue')


axs['left_top'].scatter(subjects,heights)
axs['left_top'].set_title('Stduent Height',fontsize=15)
axs['left_top'].set_xlabel('student subject',fontsize=12)
axs['left_top'].set_ylabel('height/m')



axs['left'].scatter(subjects_boy,heights_boy)
axs['left'].set_title('Boy Height',fontsize=15)
axs['left'].set_xlabel('boy student subject',fontsize=12)
axs['left'].set_ylabel('height/m')

axs['right'].scatter(subjects_girl,heights_girl)
axs['right'].set_title('Girl Height',fontsize=15)
axs['right'].set_xlabel('girl student subject',fontsize=12)
axs['right'].set_ylabel('height/m')

plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值